gpt4 book ai didi

c# - WCF RESTful 服务不接受 JSON 输入

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:23 24 4
gpt4 key购买 nike

在我的例子中,我有一个网络服务,如下所示,

    [OperationContract]
[WebInvoke(UriTemplate = "services/CreatePerson", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = "POST")]
string CreatePerson(string data);

它需要一个 JSON 输入。当我通过将 JSON 字符串作为请求主体传递给 Fiddler 测试此服务时,如下所示,

"{"personName":"Joe", "source":"I", "address":"KK Road"}"

和请求 header 为

User-Agent: Fiddler
Content-Type: application/json;charset=utf-8
Host: localhost
Content-Length: 54

它在调试时没有遇到服务方法断点。

同时它为以下 JSON 工作,如下所示(用单引号替换之前的 json 双引号),

"{'personName':'102',  'source':'I',  'address':'KK Road'}"

服务方法不接受 JSON 字符串输入,因为如果我将输入作为“测试”传递,它会很好地工作。

实际问题出在哪里,请帮我看看....

最佳答案

我认为您不应该使用首引号和尾随引号!

尝试:

{'personName':'102',  'source':'I',  'address':'KK Road'}

此外,您的方法不应采用字符串参数,而应采用符合 json 的类。

 public class M
{
public string personName { get; set; }
public string source { get; set; }
public string address { get; set; }
}

[OperationContract]
[WebInvoke(UriTemplate = "services/CreatePerson", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, Method = "POST")]
string CreatePerson(M data);

关于c# - WCF RESTful 服务不接受 JSON 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14494239/

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