У меня есть следующая простая конечная точка HTTPPOST;WebApi HTTPPOST Конечная точка не была удалена
[AllowAnonymous]
[HttpPost]
[Route("forgotPassword")]
public IHttpActionResult ForgotPassword(string userName, string callbackUrl)
Если контроллер оформлен следующим образом;
[Authorize]
[RoutePrefix("api/accounts")]
public class AccountsController : ApiController
Теперь, когда я пытаюсь проверить эту конечную точку в почтальоне, используя следующий URL;
со строками в теле сообщения
я получаю следующее возвращение.
{ "Сообщение": "Ни один HTTP ресурс не найден, что соответствует запросу URI 'http://localhost:11217/api/accounts/forgotPassword'.",
"MessageDetail": «Никаких действий не было найдено на контроллере 'Accounts' , что совпадает с запрос." }
Теперь мне не нужно создавать модель для двух строк (если возможно). Кроме того, если я пытаюсь поставить Params в строке запроса я получаю potantially Dangerous ответ на запрос
http://localhost:11217/api/accounts/forgotPassword/test&callbackUrl=local
Может кто-нибудь помочь, пожалуйста?
Я думал так, я просто надеялся, что связующее вещество будет иметь возможность обойти это. –
'[FromBody]' должно быть необходимо только для простых типов (например, строки). Для объекта DTO в запросе POST связующее должно пытаться автоматически считывать его из тела запроса. См. Https://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api – ADyson
@ADyson Спасибо, не знал этого. –