#net #aspnet_core
Я начинающий разработчик и пытаюсь написать web api для выбора товара из БД.
Подскажите пожалуйста, возможна ли такая маршрутизация и правильная ли она?
Архитектура видится следующая:
Аутентификация и авторизация пользователя. Каждой паре логин/пароль соответсвует
определённый код. Пусть будет 966 для примера.
Далее пользователь переводи по маршруту
1.
GET http://localhost:6171/api/orders/966/
[HttpGet("{kod}")]
Выводиться список номенклатуры для выбора.
2.
Далее пользователь выбирает позицию и надо вывести ему доступное количество товара
GET http://localhost:6171/api/orders/966/GetKolvo?nom=карандаш
[HttpGet("{kod}/[action]")]
public IEnumerable GetKolvo([FromRoute]int kod, [FromQuery(Name = nom")]string nom)
{
выведет количество
}
3.
Метод, который отображает количество товара
И последний метод, который показывает номер ячейки, где данный товар находится
GET http://localhost:6171/api/orders/966/GetNomer?nom=карандаш&kol=6
???
На втором методе я застрял : ( то ли так вообще нельзя сделать/ неправильно , то
ли я криво маршрутизирую, но при таком запросе я получаю ошибку 404 и на этом всё : (
UPD!
Со вторым контроллером я разобрался.
Как же правильно делать в этом случае?Как должен выглядеть маршрут для третьего контроллера,
когда контроллеру передаются два параметра?
GET http://localhost:6171/api/orders/966/GetNomer?nom=карандаш&kol=6
Заранее спасибо!
Буду рад ссылке на документацию с примером.
Ответы
Ответ 1
Ура! Разобрался! В Startup.cs прописал : routes.MapRoute( name: "GetNomer", template: "api/[controller]/{kod}/{action}"); И по ссылке GET http://localhost:6171/api/orders/966/GetNomer?nom=карандаш&kol=6 стал возвращаться нужный результат. Вроде с маршрутами разобрался. Спасибо Всем!
Комментариев нет:
Отправить комментарий