+-
我是WCF的新手(通常对.NET还是很陌生),所以很可能这是一个已回答的问题,而我只是错过了.
我正在构建一个ASP.NET MVC应用程序,该应用程序的后端将使用基于RESTful JSON的API.我一直在研究如何与.NET中的此类API进行通信的不同选项,并且看起来WCF是迄今为止最受欢迎的选择.进一步阅读WCF,我现在有了一个基本的消费者类,它发出了一个请求,这是一个开始.
但是现在我需要做更多的事情,而且我没有取得太大进展.我需要使用JSON正文将POST发送到API.这是我到目前为止的内容:
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization;
namespace APIConsumer {
[ServiceContract]
public interface IAPIClient {
[OperationContract]
[WebInvoke(
Method = "POST",
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/session/login.json"
)]
string SessionLogin(string login_name);
}
public class APIClient : ClientBase<IAPIClient>, IAPIClient {
public string SessionLogin(string login_name) {
return this.Channel.SessionLogin(login_name);
}
}
}
我不知道是正确的方法来传递a)POST正文中的任何数据& b)在POST正文中使用JSON作为正确的序列化.NET对象.有一个很好的例子说明如何在某个地方工作吗?
最佳答案
如果您想知道如何将POST的JSON正文格式化为SessionLogin操作,那么这种情况将非常简单. JSON数据将是:
{"login_name": "someuser"}
WCF框架将处理将数据映射到您的操作的过程,并将值“ someuser”传递给您的参数login_name.这是您所需要的,还是您需要帮助的更复杂的情况?
点击查看更多相关文章
转载注明原文:c#-使用WCF使用RESTful JSON API - 乐贴网