2015-03-30 6 views
0

У меня есть простой код, вот мой обработчик Put.Как получить доступ к телу сообщения или добавить в WebPI Asp.net с помощью Postman?

Моя проблема: значение пустое или моя вторая строка записи не работает ни в одном из методов. Почему я не получаю доступ к почте или не вернул тело?

// PUT api/activate/5 
    public void Put(int id, [FromBody]string value) 
    { 
     System.Diagnostics.Debug.WriteLine("Put !"); 
     System.Diagnostics.Debug.WriteLine(value); 


    } 

Heres мой Сообщение Handler Код

public void Post([FromBody]String value) 
     { 
      System.Diagnostics.Debug.WriteLine("Post !"); 
      System.Diagnostics.Debug.WriteLine(value); 


     } 

Heres ошибка я получаю

iisexpress.exe Информация: 0: Message = 'Действие возвращается 'нулевой'', Операция = ReflectedHttpActionDescriptor.ExecuteAsync iisexpress.exe Информация: 0: Операция = ApiControllerActionInvoker.InvokeActionAsync, Status = 20 4 (NoContent) iisexpress.exe Информация: 0: Операция = ActivateController.ExecuteAsync, Статус = 204 (NoContent) iisexpress.exe Информация: 0: Ответ, Статус = 204 (NoContent), Метод = PUT, URL = http://localhost:53676/api/activate/3 , Сообщение = 'Content-type =' none ', content-length = unknown' iisexpress.exe Информация: 0: Operation = ActivateController.Dispose Программа '[14136] iisexpress.exe' вышла с кодом 0 (0x0).

это, как я посылаю положить или сообщение с помощью почтальона

enter image description here

Я получаю 204 при отправке его, но это, кажется, хорошо, потому что я ничего не возвращает.

** Что я пытаюсь сделать, так это доступное значение из моего кода asp.net. Т.е. сценарий для значения не печатает ничего, потому что я не могу правильно получить значение из тела.

В рельсах я бы сказал response.body, чтобы получить доступ к этой стороне сервера. Как получить доступ к данным, которые я разместил в моем коде asp.net? **

+0

Я не вижу, чтобы вы возвращали какой-либо контент из вашего сообщения «Путь и почта» - –

+0

его пустоту, я должен? моя проблема не в том, чтобы получить данные, которые я опубликовал или поместил в мой код на стороне сервера asp.net –

+0

Ответ 204, который вы получаете, верен, так как ваши действия возвращают void http://typecastexception.com/post/2014/09 /28/ASPNET-Web-Api-Unwrapping-HTTP-Error-Results-and-Model-State-Dictionaries-Client-Side.aspx –

ответ

1

Почтовый запрос в приложении MVC маршрутизируется с использованием имен.
Если у вас есть http://localhost:53676/api/activate/?country=jordan
Метод public void Post(string country) получил бы это значение.

Также используйте строку Not String в методах, это лучшая практика, даже если они совпадают в конце. См. SO Answer

+0

спасибо за дополнительную строку –

 Смежные вопросы

  • Нет связанных вопросов^_^