2016-05-13 9 views
0

コンテンツタイプがJSONの場合、HTTP Postを受信して​​解析するC#エンドポイントがあります。これは、stackoverflowからのいくつかの助けによって完璧に動作します。私は間違いなくこれが私が必要と思ったが、投稿されたコンテンツタイプがapplication/x-www-form-urlencodedであることを学んだことがある。 既存のAPIコントローラを使用すると、すべての値に対してNullが返されます。 この形式でペイロードを受信するには、何が必要なのですか?コンテンツタイプapplication/x-www-form-urlencodedを使用してHTTP POSTから受け取ったC#でのJSONデータの解析

JSON働く現在のクラス:任意の助け

namespace WebServiceTest1.Controllers 
    { 


     public class Konekt1Controller : ApiController 
     { 

      public IHttpActionResult Post(Rootobject dto) 
      { 
       //Do something here. 
       return Ok(); 
      } 
} 
} 

ありがとう:ときJSON作品

namespace WebServiceTest1.Models 
{ 

    public class Rootobject 
    { 
     public DateTime received { get; set; } 
     public string authtype { get; set; } 
     public string[] tags { get; set; } 
     public Routingresults routingResults { get; set; } 
     public string device_name { get; set; } 
     public int errorcode { get; set; } 
     public string source { get; set; } 
     public string timestamp { get; set; } 
     public string record_id { get; set; } 
     public string data { get; set; } 
     public int device_id { get; set; } 

    } 

    public class Routingresults 
    { 
     public int matchedRules { get; set; } 
     public object[] errors { get; set; } 
    } 



} 

電流コントローラ。

**アップデートは、ここに掲載されているものです。

FORM/POSTが

ペイロードをパラメータ:{ "受信": "2016-05-13T20:43:17.845873"、 "認証タイプ": 「037」、「エラーコード」:0、「source」:「1111111111111」、「_DEVICE_37555_」、「device_name」:「03838601」、 、 "timestamp": "301"、 "data": "abc123Base64 encoded"、 "device_id":37555} キー: プロパティ:{"url": "http://requestb.in/15jclna1"、 "payload_is_json":true、 "user_id":2518 、 "hook_payload": "ALL"} ユーザーID:2518

+0

クレジットが必要です。これは、これまでコンテンツタイプJSON.httpsでテストしていた私のポストでした://stackoverflow.com/questions/37186​​914/receive-and-use-http-post-json-in-c-sharp-asp-net – bairdmar

答えて

0

私はこれを理解しました。メッセージの到来方法は、すべて1つの文字列に格納されます。そうではなく、個人が得る;セット;私のクラスのオブジェクトの文字列ペイロードのすべての値を取得し、その後、コントローラで解析する必要がありました。

public string payload { get; set; } 
関連する問題