[*]с использованием .net 8 и шаблона веб-API .net core по умолчанию [*]Я не могу изменить путь маршрута, поэтому не меняйте маршруты для запросов. [*]запросы будут поступать следующим образом (я привел 3 примера запросов)
Я пытаюсь получить специальную ошибку, а не обычную ошибку 404, которая не найдена, когда URL-адрес имеет пустой параметр маршрута.
[HttpGet] [Route("{routeParam1}/{routeParam2}/path/{routeParam3}", Name = "XYZ")] [Производит("приложение/json")] общедоступная асинхронная задача XYZ( [FromRoute] строка маршрутаParam1, [FromRoute] строка маршрутаParam2, [FromRoute] строка маршрутаParam3, [FromQuery] строка queryParam1, [FromQuery] строка queryParam2, Токен отмены (Token отмены) { вернуть новый ObjectResult («ОК») {StatusCode = 200}; } результат должен быть
Запрос: /abc/xyz//routeParam2/path/routeParam3?queryParam1=p1&queryParam2=p2 Ответ: 422 { "customCode": "1111", "предупреждение": "необходим параметр RouteParam1." } Запрос: /abc/xyz/routeParam1//path/routeParam3?queryParam1=p1&queryParam2=p2 Ответ: 422 { "customCode": "2222", "предупреждение": "необходим параметр RouteParam2." } Запрос: /abc/xyz/routeParam1/routeParam2/path/?queryParam1=p1&queryParam2=p2 Ответ: 422 { "customCode": "3333", "предупреждение": "требуется параметр RouteParam3." }