+-
c#-使用WCF使用RESTful JSON API
我是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 - 乐贴网