Параметр ASP.NET WebApi HttpPost всегда равен нулю - PullRequest
1 голос
/ 13 мая 2019

Я пытаюсь передать параметр объекта через почтовый запрос в приложении Microsoft Web API, но переданный параметр всегда имеет значение null.

Это мой контроллер для метода post, при отладке программа достигла метода, но строка dataUrlIN.url всегда пуста

[HttpPost]
public void Post(DataUrl dataUrlIN)
{
    string a = dataUrlIN.url;
    a += a + "/test";
}

Это объект DataUrl

public class DataUrl
{
    public string url { get; set; }
}

Это почтовый запрос

POST /api/values HTTP/1.1
Host: localhost:50673
Content-Type: application/json
User-Agent: PostmanRuntime/7.11.0
Accept: */*
Cache-Control: no-cache
Postman-Token: a12b47ba-8595-4297-b3e1-380052fb2a46,b4b4d699-206b-47ff-9fa3-71d06d4334d2
Host: localhost:50673
accept-encoding: gzip, deflate
content-length: 28
Connection: keep-alive
cache-control: no-cache

{
    "url" : "helloWorld"
}

После отправки запроса на публикацию запускается точка останова в методе public void Post (Data Url dataUrlIN), но строка URL-адреса является пустой. Строка «HelloWorld» никогда не появляется

1 Ответ

1 голос
/ 13 мая 2019

Добавьте атрибут FromBody к параметру

[HttpPost]
public void Post([FromBody]DataUrl dataUrlIN)
{
}

Ознакомьтесь с документацией привязки параметров для получения дополнительной информации

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