Поместите запрос в / api / controller /: id вместо / api / controller? Id =: id - PullRequest
0 голосов
/ 05 августа 2020

Я сейчас делаю это:

[HttpPut]
public void Edit(int id, Model model)
{
    ...
}

Что дает мне конечную точку /api/controller?id=66 вместо того, что я хочу: /api/controller/66

1 Ответ

2 голосов
/ 06 августа 2020

Чтобы получить то, что вы хотите - api/controller/66 по вашему запросу PUT, ваш атрибут HTTP-глагола должен быть изменен на [HttpPut("{id}")]

И еще одна причина, по которой ваш id получен из строка запроса по умолчанию такова, что привязка параметров в случае запроса PUT работает таким образом, что примитивный тип привязан к строке запроса запроса, а сложный тип - из тела запроса.

Краткое изложение правила привязки параметров перечислены в этом ответе.

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