powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
18 сообщений из 18, страница 1 из 1
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887152
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток товарищи!
Как разобраться как строятся маршруты?

Вот как на asp net делаю get запрос для получения данных:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
[Route("api/[controller]")]
    [ApiController]
    public class CatalogItemsController : ControllerBase
    {
        public CatalogItemsController()
        {
        }

        // Получение корневого каталога
        // GET: api/CatalogItems
        [HttpGet]
        public async Task<ActionResult<IEnumerable<CatalogItem>>> GetCatalogItems()
        {
            return await Task.FromResult(CatalogItemsDataProvider.GetCatalogItems(-1));
        }

        // Получение конкретного каталога
        // GET: api/CatalogItems/5
        [HttpGet("{Parentid}")]
        public async Task<ActionResult<IEnumerable<CatalogItem>>> GetCatalogItems(int Id)
        {
// Пока список  но это для примера
            return await Task.FromResult(CatalogItemsDataProvider.GetCatalogItems(Id));
        }
   }



Первый GetCatalogItems получает все каталоги типа:
Валенки

Сапоги

Куртки

штаны

Второй GetCatalogItems получает конкретный каталог например:

Сапоги

А вопрос в итоге как идеологически правильно и вообще получать подкаталоги :
Например у сапогов есть еще и подкаталоги зимние/летние/теплые/зеленые/и т.д.

И вот как на вайлдберри например формируется цепочка:
https://www.wildberries.ru/catalog/obuv/zhenskaya/tapochki
obuv -> zhenskaya -> tapochki

Эта цепочка строится динамически, так как я изначально не знаю какая вложенность (ну типа добавили новые рубрики и товары к ним)
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887153
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя "каталоги" и "подкаталоги" - это разные сущности или одна и та же?
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887158
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, Я думаю одна (я если честно не сильно в этом разбираюсь пока)
Ну типа в базе все в одном виде хранится и потом я подтягиваю в зависимости от Родителя:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        //TODO Заготовка (заглушка) данных каталога
        static List<CatalogItem> list = new List<CatalogItem>()
        {
            new CatalogItem() {Id = 1, Name = "Простыни", AliasName = "prostini", ParentId = -1},
            new CatalogItem() {Id = 2, Name = "Перчатки", AliasName = "perchatki", ParentId = -1},
            new CatalogItem() {Id = 3, Name = "Маски", AliasName = "maski", ParentId = -1},
            new CatalogItem() {Id = 4, Name = "Шапочки", AliasName = "shapohki", ParentId = -1},
            new CatalogItem() {Id = 5, Name = "Крафт-пакеты", AliasName = "kraftpaketi", ParentId = -1},
            new CatalogItem() {Id = 6, Name = "Дезсредства", AliasName = "dezsredstva", ParentId = -1},
            new CatalogItem() {Id = 7, Name = "Виниловые", AliasName = "vinilovie", ParentId = 2},
            new CatalogItem() {Id = 8, Name = "Нитриловые", AliasName = "nitrilovie", ParentId = 2}
        };


Вот ParentId указывает на конкретный Id в этой же таблице.
Вот на сайте тыкаем вкладку перчатки , проваливаемся в список виниловые и нитриловые . Далее тыкаем Нитриловые и уже выпадает весь список товаров нитриловые перчатки .
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887159
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam
Shocker.Pro, Я думаю одна (я если честно не сильно в этом разбираюсь пока)
Ну типа в базе все в одном виде хранится и потом я подтягиваю в зависимости от Родителя:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        //TODO Заготовка (заглушка) данных каталога
        static List<CatalogItem> list = new List<CatalogItem>()
        {
            new CatalogItem() {Id = 1, Name = "Простыни", AliasName = "prostini", ParentId = -1},
            new CatalogItem() {Id = 2, Name = "Перчатки", AliasName = "perchatki", ParentId = -1},
            new CatalogItem() {Id = 3, Name = "Маски", AliasName = "maski", ParentId = -1},
            new CatalogItem() {Id = 4, Name = "Шапочки", AliasName = "shapohki", ParentId = -1},
            new CatalogItem() {Id = 5, Name = "Крафт-пакеты", AliasName = "kraftpaketi", ParentId = -1},
            new CatalogItem() {Id = 6, Name = "Дезсредства", AliasName = "dezsredstva", ParentId = -1},
            new CatalogItem() {Id = 7, Name = "Виниловые", AliasName = "vinilovie", ParentId = 2},
            new CatalogItem() {Id = 8, Name = "Нитриловые", AliasName = "nitrilovie", ParentId = 2}
        };


Вот ParentId указывает на конкретный Id в этой же таблице.
Вот на сайте тыкаем вкладку перчатки , проваливаемся в список виниловые и нитриловые . Далее тыкаем Нитриловые и уже выпадает весь список товаров нитриловые перчатки .


В итоге в строке браузера у нас такая инфа:
1. https://localhost:44351/api/CatalogItems/
2. https://localhost:44351/api/CatalogItems/perchatki/
3. https://localhost:44351/api/CatalogItems/perchatki/nitrilovie
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887160
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз сущность одна и та же, то и метод для ее получения будет один и тот же. А оставшуюся часть маршрута (obuv/zhenskaya/tapochki) придется разобрать самостоятельно
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887162
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, где почитать? Как загуглить вообще это? Я не понимаю пока в этом, есть может на доках у майкрософта что то типа
Вот тут надо написать так, а тут так.
Скиньте пример может кто или ссылку, будут крайне благодарен!
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887173
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887181
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam,

не понял, что конкретно вы хотите, по запросу /api/CatalogItems/perchatki/nitrilovie перейти на /api/CatalogItems/8 ?

то есть по AliasName определить Id и передать его в качестве параметров маршрута?
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887182
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,
/api/CatalogItems/perchatki/nitrilovie перейти на /api/CatalogItems/8
Вообще я пока не знаю как правильно строятся вообще маршруты. Пока я думаю, что надо делать так:
/api/CatalogItems/ - Показыватся весь корневой список (у которых ParentId = -1)

/api/CatalogItems/2 - Показывается элемент с Id = 2 (т. е. элемент Перчатки )
А вот какая конструкция показывает в категории Id = 2 две подкатегории с ParentId = 2 ? Ну у каталога перчатки есть два подкаталога нитриловые и виниловые.
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887183
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как заходим на мобильное приложение озона/ламода/вайлдберри:
Тыкаем категорию одежда
Далее тыкаем верхняя
Далее тыкаем свитера
И тут только показываются все свитеры (конкретные товары).
Как с точки зрения программы это все в виде api запросов на веб сервис?
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887186
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam
Вот как заходим на мобильное приложение озона/ламода/вайлдберри:
Тыкаем категорию одежда
Далее тыкаем верхняя
Далее тыкаем свитера
И тут только показываются все свитеры (конкретные товары).
Как с точки зрения программы это все в виде api запросов на веб сервис?

О как... а до этого что показывается?

Вы бы определились для начала с поведением, что показывается на каком уровне, где у вас конкретные товары, а где не конкретные.
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887187
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam,

по озона/ламода/вайлдберри шастать нет никакого желания
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887190
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос
https://localhost:44351/api/CatalogItems
Возвращает данные где все ParentId = -1
Код: javascript
1.
[{"id":1,"name":"Простыни","aliasName":"prostini","parentId":-1},{"id":2,"name":"Перчатки","aliasName":"perchatki","parentId":-1},{"id":3,"name":"Маски","aliasName":"maski","parentId":-1},{"id":4,"name":"Шапочки","aliasName":"shapohki","parentId":-1},{"id":5,"name":"Крафт-пакеты","aliasName":"kraftpaketi","parentId":-1},{"id":6,"name":"Дезсредства","aliasName":"dezsredstva","parentId":-1}]


.
Запрос
https://localhost:44351/api/CatalogItems/2
Возвращает данные где Id = 2
Код: javascript
1.
[{"id":2,"name":"Перчатки","aliasName":"perchatki","parentId":-1}]


.
Какой запрос (как прописать в коде) должен возвращать все подкатегории у конкретной категории?
Вот например у категории Id=1 есть две подкатегории id=7 и id=8/
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887191
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam
Запрос
https://localhost:44351/api/CatalogItems
Возвращает данные где все ParentId = -1
Код: javascript
1.
[{"id":1,"name":"Простыни","aliasName":"prostini","parentId":-1},{"id":2,"name":"Перчатки","aliasName":"perchatki","parentId":-1},{"id":3,"name":"Маски","aliasName":"maski","parentId":-1},{"id":4,"name":"Шапочки","aliasName":"shapohki","parentId":-1},{"id":5,"name":"Крафт-пакеты","aliasName":"kraftpaketi","parentId":-1},{"id":6,"name":"Дезсредства","aliasName":"dezsredstva","parentId":-1}]


.
Запрос
https://localhost:44351/api/CatalogItems/2
Возвращает данные где Id = 2
Код: javascript
1.
[{"id":2,"name":"Перчатки","aliasName":"perchatki","parentId":-1}]


.
Какой запрос (как прописать в коде) должен возвращать все подкатегории у конкретной категории?
Вот например у категории Id=1 есть две подкатегории id=7 и id=8/

Т. е. должно вернуться так:
[{"id":7,"name":"Виниловые","aliasName":"vinilovie","parentId":2},{"id":8,"name":"Нитриловые","aliasName":"nitrilovie","parentId":2} ]
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887195
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam
А вопрос в итоге как идеологически правильно и вообще получать подкаталоги :


Нет никакого "идеологически правильно".

Всё зависит от того, чего вы хотите добиться.


aleks-sam
И вот как на вайлдберри например формируется цепочка:
https://www.wildberries.ru/catalog/obuv/zhenskaya/tapochki
obuv -> zhenskaya -> tapochki

Эта цепочка строится динамически, так как я изначально не знаю какая вложенность (ну типа добавили новые рубрики и товары к ним)


Пока непонятно, чего вы хотите?

Модератор: Тема перенесена из форума "WinForms, .Net Framework".
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887201
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу я разобрался.
Оказывается есть еще Действия.
Прописал
Код: c#
1.
[Route("api/[controller]/[action]/{id?}")]


И создал несколько методов (action) для своей задачи и все!
Спасибо за отклик!
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887203
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks-sam
Оказывается
Прочти учебник. Может ОКАЗАТЬСЯ, что там еще много всяких плюшек )
...
Рейтинг: 0 / 0
Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
    #39887212
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, Это точно!))
Получается не знал даже как правильно задать вопрос.
Спасибо!)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Get запрос, Маршрутизация к действиям или что? Как замутить правильно?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]