Рассмотрим следующий пример:
[HttpGet("api/values/{id}")]
public ActionResult<string> Get(int id)
{
return id
}
Вышеописанное будет работать без проблем, однако я хочу изменить это так, чтобы оно позволяло, скажем, для аргумента 10 параметров.Я пытаюсь понять в успокоительном сценарии API, как это достигается.
Первый вопрос: как это выглядит на стороне URI?api/values/5/testOne/TestTwo/
?Что если testOne имеет значение null?Так я должен использовать параметры запроса тогда?api/values/5/?testOne=abc&testTwo=123
Во-вторых, могу ли я обернуть это в то, что я называю моделью запроса.Пример: Допустим, у меня есть модель запроса, подобная этой:
public class TestRequestModel
{
public int Id { get; set; }
public string TestOne { get; set; }
public string TestTwo { get; set; }
}
И, допустим, я хочу включить ее:
[HttpGet("api/values/{id}/{testOne}/{testTwo}")]
public ActionResult<string> Get(TestRequestModel requestModel)
{
return requestModel.Id
}
Приведенный выше {id} не будет сопоставлен с requestModle.Id, и не будет других параметров.Мой второй вопрос: как мне добиться этой привязки в GET-запросе?