首页 新闻 会员 周边

关于httpclient

0
悬赏园豆:5 [已解决问题] 解决于 2018-07-15 16:08

 

上图是服务端,下图是客户端

 

 

 

为什么我这样发送过去的时候,会报反序列话里面的值为空,出错,求赐教!

偶像之路的主页 偶像之路 | 初学一级 | 园豆:3
提问于:2018-07-15 14:52
< >
分享
最佳答案
0

ContentType 由 application/json 改为 text/plain

收获园豆:3
dudu | 高人七级 |园豆:30994 | 2018-07-15 15:12

不行呀,我都已经把他序列化成json了,

偶像之路 | 园豆:3 (初学一级) | 2018-07-15 15:16

我刚才试了一下,报The request entity's media type 'text/plain' is not supported for this resource.

偶像之路 | 园豆:3 (初学一级) | 2018-07-15 15:16

@偶像之路: 正常情况下是不需要这个额外的序列化/反序列化的,不知道你为什么要舍近求远?
正常的做法:
1)服务端

public HttpResponseMessage GetAllChargingData(Book book)
{
    //...
}

2)HttpClient

var response = await httpClient.PostAsJsonAsync("...", book);
dudu | 园豆:30994 (高人七级) | 2018-07-15 15:49

@dudu: 感谢,可以了

偶像之路 | 园豆:3 (初学一级) | 2018-07-15 16:04
其他回答(1)
0

应该是api那边的写的不对,

你可以在api中看下,RequestContent内容有没有,是什么。

收获园豆:2
放逐人 | 园豆:694 (小虾三级) | 2018-07-15 15:26

请问api用什么来接受客户端发来的

支持(0) 反对(0) 偶像之路 | 园豆:3 (初学一级) | 2018-07-15 15:44

@偶像之路: 按照你的写法,在api方法定义(String 属性,int 属性,...),这样是能接收到的。

不能直接定义对象,只能定义对象中的属性。

支持(0) 反对(0) 放逐人 | 园豆:694 (小虾三级) | 2018-07-15 15:55

@偶像之路: 不行的话,你就多试试吧,asp.net wep api 传值,我现在都没有整明白,之前有问题就一个个试,也是挺笨的,,,

支持(0) 反对(0) 放逐人 | 园豆:694 (小虾三级) | 2018-07-15 16:00

@找点什么: 可以了,我的错误就是楼上dudu站长说的,舍近求远,直接用对象接受就可以了

支持(0) 反对(0) 偶像之路 | 园豆:3 (初学一级) | 2018-07-15 16:03

@找点什么: 共勉

支持(0) 反对(0) 偶像之路 | 园豆:3 (初学一级) | 2018-07-15 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册