将JSON对象发布到Restful Web服务

时间:2013-11-22 16:44:50

标签: ios restkit afnetworking restkit-0.20 afjsonrequestoperation

我有两个Restful网络服务:
service1 api.wego.com/flights/api/k/2/searches
service2 api.wego.com/flights/api/k/2/fares

service1的问题:
我想使用AFJSONRequestOperation serivce1 发出POST请求,使用AFJSONRequestOperation代替RestKit此服务是因为我不喜欢我需要为返回的响应创建任何映射,我只是想将一些返回的数据保存到局部变量中,但问题是 service1 需要这样的JSON邮政机构:

{
"trips": [ {
"departure_code": "SIN",
"arrival_code": "HKG",
"outbound_date": "2013-11-29",
"inbound_date": "2013-12-06"
} ],
"adults_count": 1
}

问题:如何创建AFJSONRequestOperation以向 service1 发布请求,并将以上JSON发送到帖子正文?

service2的问题:
我想使用RestKit 0.2x对此服务发出POST请求,我知道如何构建映射模型,但根据服务文档,我必须发送一个JSON对象以及看起来像这样的帖子正文:

{
"id": "1376967853520",
"search_id": "IAXutjj0TAu0Wq-kvOMK6A",
"trip_id": "NYC:LON:2013-11-29:2013-12-06",
"fares_query_type": "route"
}

我之前使用RestKit使用Get方法执行getObjectsAtPath次请求,但在这种情况下,我认为我必须使用postObject方法来执行POST请求,但我不确定。

问题:如何使用POST service2 发出RestKit 0.2x请求,并将上述JSON发送给帖子body(考虑到映射模型已经设置并准备好使用)?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

  1. 创建一个字典并使用NSJSONSerialisation(这会产生数据供您设置为操作有效负载)。或者,使用RKObjectManager requestWithObject:method:path:parameters:(将创建要发送的URL请求,并且已设置有效负载数据)。然后用它创建请求操作。

  2. 是的,请使用RKObjectManager postObject:...方法。您需要为要发布的对象类创建请求映射和描述符。然后发布对象和路径。