我正在尝试构建某种类似 RESTful 的 API,我知道我的初稿可能与真正的 RESTful 设计模式一点也不相像。但是我真正的问题是我应该如何使用 JSON 来使用我的服务?
在我所谓的真实世界示例中,我希望我的用户通过服务登录,所以我有这个 AuthenticationController
namespace RESTfulService.Controllers
{
public class AuthenticationController : ApiController
{
public string Get(string username, string password)
{
// return JSON-object or JSON-status message
return "";
}
public string Get()
{
return "";
}
}
}
考虑到这项技术越来越受欢迎,我认为使用该服务只需要很少的代码。我真的需要使用某种第三方包(如 json.net)手动序列化 JSON 吗?下面是我给客户的草稿
private static bool DoAuthentication(string username, string password)
{
var client = InitializeHttpClient();
HttpResponseMessage response = client.GetAsync("/api/rest/authentication").Result;
if (response.IsSuccessStatusCode)
{
//retrieve JSON-object or JSON-status message
}
else
{
// Error
}
return true;
}
private static HttpClient InitializeHttpClient()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost/");
// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
如何从服务发送 JSON 以及如何在客户端解释它?