Как использовать параметры запроса в атрибутах? - PullRequest
1 голос
/ 07 января 2020

Я хочу использовать параметры запроса в моих атрибутах конечной точки, но я не уверен, как их использовать.

Я пробовал это:

[HttpPost("fooBar/{version}?amount={amount}&date={date}")]

Но вместо этого я получаю эту ошибку:

Microsoft.AspNetCore.Routing.Patterns.RoutePatternException: буквальный раздел '? сумма = 'недействительна. Литеральные разделы не могут содержать «?» персонаж. в Microsoft.AspNetCore.Routing.Patterns.RoutePatternParser.Parse (String pattern)

Или, каков правильный подход для установки параметров запроса, если я хочу достичь конечной точки, которая похожа на ту, что выше?

1 Ответ

4 голосов
/ 07 января 2020

Не используйте их в шаблоне маршрута, они будут включены, когда в действии будут найдены соответствующие параметры.

//POST fooBar/v2?amount=1234&date=2020-01-06
[HttpPost("fooBar/{version}")]
public IActionResult FooBar(string version, int amount,  DateTime date) {
    //...
}

Или явно укажите, откуда они поступят, используя атрибуты

//POST fooBar/v2?amount=1234&date=2020-01-06
[HttpPost("fooBar/{version}")]
public IActionResult FooBar([FromRoute]string version, [FromQuery]int amount,  [FromQuery]DateTime date) {
    //...
}

Ссылка Связывание модели в ASP. NET Ядро

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...