gpt4 book ai didi

ios - AFJSONRequestSerializer 和 AFHTTPRequestSerializer 的区别

转载 作者:行者123 更新时间:2023-11-28 06:41:59 26 4
gpt4 key购买 nike

我的请求对 AFJSONRequestSerializer 有效而对 AFHTTPRequestSerializer 无效的真正原因是什么?

我已经设置了

responseSerializer.acceptableContentTypes?.insert("application/json")

对于 AFHTTPRequestSerializer 它不起作用,但应该。

我只是发送简单的字典:

{
"approval_required" = 1;
birthdate = "2016-03-11";
gender = male;
name = Bartolo;
password = password1234;
username = "super user";
}

Here是类似的问题,但没有解释为什么是这样的。

谁能解释一下?

最佳答案

acceptableContentTypes与请求的格式无关,即是HTTP请求还是JSON请求。请求序列化程序的基本职责是以指定格式创建请求。因此,requestSerializer 的选择决定了您是否正在创建 HTTP 请求(例如 application/x-www-form-urlencodedContent-Type >) 或 JSON 请求(例如 application/jsonContent-Type)。 acceptableContentTypes 仅允许请求指定您的应用将接受何种格式的响应。 (而且,坦率地说,您不应该指定 acceptableContentTypes,而应该使用正确的 responseSerializer。)但是请求格式和接受的响应格式是完全不同的两种东西。事实上,仅接受 HTTP 请求并仅提供 JSON 响应的 Web 服务并不少见。

在您的情况下,听起来您有一个需要 JSON 请求的 Web 服务。当您指定 AFHTTPRequestSerializer 时,请求将不是 JSON 格式,并且很可能无法理解。并且指定 acceptableContentTypes 不会改变请求本身不是 JSON 的事实。


顺便说一句,像Charles这样的工具或 Wireshark对调试网络代码非常有用,并且有助于诊断这两种类型请求的差异。如果您使用其中一种工具来观察原始请求/响应,您会发现其中的差异。

关于ios - AFJSONRequestSerializer 和 AFHTTPRequestSerializer 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37704151/

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