我在使用AFNetworking v2处理多个响应序列化程序时遇到了一些问题。 背景信息是
我使用AFHTTPSessionManager作为单例对象来处理所有CRUD服务。 有多个服务返回不同的响应类型(纯文本/ json / xml)。
当我使用compoundResponseSerializer时,问题出现在服务返回某种类型的响应时,只要响应类型在它接受的compoundResponseSerializer中,而不会引发序列化错误。
当我为每个调用单独更改responseSerializer时,每个请求的验证工作正常;但是,当多个响应同时返回时,作为竞争条件,responseSerializer会混淆,因此即使响应的格式与我请求的格式正确,它也会返回序列化错误。
在这种情况下,您能否澄清一下我是否不恰当地使用AFNetworking?在这种情况下有更合适的方法吗?
几乎没有可能的解决方案是我为每个请求建立一个队列并为每个请求更改响应序列化器;但是,它仅在并发操作每次限制为一个请求时才有效。这不是我想要的;我想同时处理多个请求。
另一个解决方案是使用compoundResponseSerializer并在AFNetworking返回响应后再次验证?
任何人都知道我做错了什么或其他什么建议?