如何在 .net 中使用 Restful(JSON 格式)
How to consume Restful in .net (JSON format)
我必须连接到一个传递 Json 并接收 Json 的服务器。使用 .NET 4.5 的简单方法是什么?
获取令牌:(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
如何:
发送请求并使用 .net 接收它?
我试过这种方式,但是最推荐的是什么?
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;
}
}
我喜欢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
class 是使用 json2csharp.com 从您的 JSON 创建的。这是一个在线工具。您粘贴 JSON 并生成 C# classes.
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; }
}
我必须连接到一个传递 Json 并接收 Json 的服务器。使用 .NET 4.5 的简单方法是什么?
获取令牌:(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
如何:
发送请求并使用 .net 接收它?
我试过这种方式,但是最推荐的是什么?
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;
}
}
我喜欢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
class 是使用 json2csharp.com 从您的 JSON 创建的。这是一个在线工具。您粘贴 JSON 并生成 C# classes.
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; }
}