2016-03-22 10 views
-3

Jsonを渡してJsonを受け取るサーバーに接続する必要があります。 .NET 4.5を使用して簡単な方法は何ですか?Restful in。(JSON形式)を使用する方法

トークンを取得:(GET)

要求:

https://website.com/rest/v1/OAuth/AccessToken?client=ABCD=&password=ABC&returnFormat=json 

結果:

JSON { "accessTokenResponse": { "token": "12345", "responseStatus": { "code": "100000", "message": "Service operation completed successfully", "messageDetails": "Access token assigned." } } } 

メソッドを呼び出す:(GET)

https://website.com/rest/v1/OAuth/getEmployees?token=12345=&returnFormat=json 

方法:

リクエストを送信してください。

私はこの方法で試しましたが、最も推奨されているのは何ですか?

public string GetRequest(string url) 
     { 
      var request = (HttpWebRequest)WebRequest.Create(url); 
      try 
      { 
       var response = request.GetResponse(); 
       using (var responseStream = response.GetResponseStream()) 
       { 
        var reader = new StreamReader(responseStream, Encoding.UTF8); 
        return reader.ReadToEnd(); 
       } 
      } 
      catch (WebException ex) 
      { 
       var errorResponse = ex.Response; 
       using (var responseStream = errorResponse.GetResponseStream()) 
       { 
        var reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); 
        var errorText = reader.ReadToEnd(); 
       } 
       throw; 
      } 
     } 
+1

.NETでこれを行うには多くの方法があり、非常に簡単にできるライブラリがたくさんあります。スタックオーバーフローは、何かを最初に試みることなくコードを要求する場所ではありません。特定の問題が発生した場合は、自分で作業して質問してみてください。私はこれを閉じるために投票しています。 –

+0

@JesseWebb私は使用しようとしたコードを追加しましたが、インターネットやいくつかの良い練習の参考にしたいのですが、ここにServiceStackがありますが、まだ使用できませんでした。どんな助け? –

+0

これまでに試したコードを追加していただきありがとうございます!スタックオーバーフローの質問については、コードと、特定の問題やエラーが含まれていることをお勧めします。これは、回答が得られる可能性が高いためです。 「どうすればいいの?十分な詳細がなくても閉鎖される可能性が高い。 –

答えて

4

私はRestSharpが好き。 NuGetパッケージマネージャを使用して追加できます。

var client = new RestClient("https://website.com"); 
var request = new RestRequest("/rest/v1/OAuth/AccessToken?client=ABCD=&password=ABC&returnFormat=json", Method.GET); 
var response = client.Execute<Response>(request).Data; 

Responseクラスはjson2csharp.comを使用して、JSONから作成されます。それはオンラインツールです。 JSONに貼り付け、C#クラスを生成します。

public class ResponseStatus 
{ 
    public string code { get; set; } 
    public string message { get; set; } 
    public string messageDetails { get; set; } 
} 

public class AccessTokenResponse 
{ 
    public string token { get; set; } 
    public ResponseStatus responseStatus { get; set; } 
} 

public class Response 
{ 
    public AccessTokenResponse accessTokenResponse { get; set; } 
} 
+0

すごく、ServiceStackを使い終わった。働いた! –

関連する問題