Как получить переменную POST из веб-API asp.net? - PullRequest
0 голосов
/ 23 февраля 2019

В c # asp.net 4.5.2 как получить переменную post.У меня это пока что

    public async Task<HttpResponseMessage> PostMessage(HttpRequestMessage request, string pCompanyName, string pMessage, string language)
    {
    }

Но это все параметры URL.Я хочу переместить string pMessage в тело POST.Со стороны клиента я могу отправить это по data в jquery ajax.

data : {
    message : "test"
}

, но как мне получить это значение со стороны c #?

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Создайте ViewModel следующим образом

class InputMessage
{
    public string pMessage { get; set; }
}

И затем используйте этот класс в качестве параметра вашего метода:

 public async Task<HttpResponseMessage> PostMessage(HttpRequestMessage request, string pCompanyName, InputMessage message, string language)
    {
      // message.pMessage
    }
0 голосов
/ 23 февраля 2019

Вы можете использовать [FromBody] атрибут

public async Task<HttpResponseMessage> PostMessage(HttpRequestMessage request, string pCompanyName, string language, [FromBody] string pMessage)
{
}

Но вам действительно нужно что-то вроде

 [HttpPost]
 public async Task<HttpResponseMessage> PostMessage([FromUri] string pCompanyName, [FromUri] string language, [FromBody] string pMessage)
 {
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...