2017-02-18 14 views
1

Я использую WebApi.SelfHost, но мое сообщение всегда равно нулю. Я пробовал все решения, которые я мог найти на SO, но никто из них не работал.C# WebApi.SelfHost post is null

Я застрял в этой проблеме часами. Я пробовал все решения, которые я мог найти на SO, но никто из них не работал.

Я знаю, что этот вопрос уже задан. Но я уже пробовал все решения, но никто из них не работал. и они не используют собственный хост.

Вот мой код.

class Program 
{ 
    static void Main(string[] args) 
    { 
     var config = new HttpSelfHostConfiguration("http://localhost:8080"); 

     config.Routes.MapHttpRoute(
      "API Default", "api/{controller}/{action}/{id}", 
      new { id = RouteParameter.Optional }); 

     using (HttpSelfHostServer server = new HttpSelfHostServer(config)) 
     { 
      server.OpenAsync().Wait(); 
      Console.WriteLine("Press Enter to quit."); 
      Console.ReadLine(); 
     } 
    } 
} 

public class testController : ApiController 
{ 
    [HttpPost] 
    public string test(int id ,[FromBody]string value) 
    { 
     return value; 
    } 
} 

Я использую Advanced REST client для тестирования

вот мой результат

enter image description here

ответ

1

Вы ввели значение строки в заголовки секции запроса. Вы должны отправить это значение в теле запроса. Например. поместить заголовок

Content-Type: application/json 

И добавить тела (ниже заголовков секции, названный сырой полезной нагрузки)

"testValue" 

Примечание: Рассмотрим использование Postman

+0

спасибо большое –