2017-12-08 10 views
-2

投稿時にHttpClientがコントローラにnull値を送信していますが、私のコードはここで助けてください ....................HttpClientがmvc5のWeb ApiでNULLを送信しています

using (HttpClient client=new HttpClient()) 
        { 


          var parameters = ConvertToDictionary(tc); 

         client.BaseAddress = new Uri($"http://localhost:9797/"); 

         var json = JsonConvert.SerializeObject(tc); 
         var data = new StringContent(content: json,encoding: Encoding.UTF8,mediaType: "application/json"); 
         var response = client.PostAsync(api_url, data).GetAwaiter().GetResult(); 
         var k = JsonConvert.DeserializeObject<Api>(response.Content.ReadAsStringAsync().GetAwaiter().GetResult()); 
} 

事前

答えて

0

のおかげではclient.BaseAddressで$のinsted @使用してみてください。 tcオブジェクトがnullでないかどうかを確認します。 私はこのようなあなたのコードを使用:

class Program 
{ 
    static void Main(string[] args) 
    { 
     using (HttpClient client=new HttpClient()) 
     { 
      client.BaseAddress = new Uri(@"http://localhost:61737/api/presidents"); 

      var json = JsonConvert.SerializeObject(new { name = "name", value = "value" }); 
      var data = new StringContent(content: json,encoding: Encoding.UTF8,mediaType: "application/json"); 
      var response = client.PostAsync(@"http://localhost:61737/api/presidents/post", data).GetAwaiter().GetResult(); 
      var k = (response.Content.ReadAsStringAsync().GetAwaiter().GetResult()); 
     } 
    } 
} 

そして、コントローラは次のようになります。

[RoutePrefix("api/presidents")] 
public class PresidentsController : ApiController 
{ 
    public class oooo 
    { 
     public string Name { get; set; } 
     public string Value { get; set; } 
    } 
    [Route("post")] 
    public IHttpActionResult Post(oooo o) 
    { 
     return Ok(o); 
    } 
} 

、すべてが働いています。

関連する問題