gpt4 book ai didi

c# - 使用 WCF 使用 RESTful JSON API

转载 作者:行者123 更新时间:2023-11-30 16:36:06 29 4
gpt4 key购买 nike

我是 WCF 的新手(通常对 .NET 很生疏)所以这很可能是一个已回答的问题,而我只是错过了。

我正在构建一个 ASP.NET MVC 应用程序,它将使用基于 JSON 的 RESTful API 作为其后端。我一直在研究如何在 .NET 中与此类 API 对话的不同选项,看起来 WCF 是迄今为止最受欢迎的选择。进一步阅读 WCF,我现在有了一个可以发出请求的基本消费者类,这是一个开始。

但现在我需要用它做更多的事情,而且我没有取得太大进展。我需要使用 JSON 正文向 API 发送 POST。这是我到目前为止所拥有的:

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) 适当的序列化 .NET 对象作为 POST 正文中的 JSON 的正确方法。是否有一个很好的例子来说明如何在某处解决这个问题?

最佳答案

如果您想知道如何将 POST 的 JSON 正文格式化为操作 SessionLogin,在您的情况下,这将非常简单。 JSON 数据只是:

{"login_name": "someuser"}

WCF 框架将处理将该数据映射到您的操作,并将值“someuser”传递给您的参数 login_name。这是您所需要的,还是您需要帮助处理更复杂的场景?

关于c# - 使用 WCF 使用 RESTful JSON API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1242017/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com