POST-метод WebApi со строковым параметром всегда равен нулю - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть метод POST в моем WebApi, который принимает строку json в качестве параметра.

[HttpPost]  
public HttpResponseMessage GetOrderDataBySessionId([FromBody] string json)

Я попытался нажать его, используя RestClient с URL: localhost: 56934 / api / Home / GetOrderDataBySessionId

и указав следующую строку json в теле:

{
  "ListSessionId": [
    "180416073256DGQR10",
    "180416091511DGQR10"
  ]
}

установка тела / типа контента как application / json .Но когда он попадает в мой метод, строковый параметр json всегда равен нулю.

Это потому, что мне нужно использовать комплексный тип в параметре?

Разве у нас никогда не может быть ввода в строке?

1 Ответ

0 голосов
/ 25 апреля 2018

Отправляя этот контент:

{
  "ListSessionId": [
    "180416073256DGQR10",
    "180416091511DGQR10"
  ]
}

Вы отправляете JSON, представленный свойством ListSessionId, введенным в виде массива строк, поэтому ваше действие Web API должно быть:

public HttpResponseMessage GetOrderDataBySessionId([FromBody] List<string> listSessionId)

Просто измените string json на List<string> listSessionId.

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