我正在使用 Retrofit 作为我的网络库,并且我想发送一个 JSON 数组作为x-www-form-urlencoded
,但我不知道该怎么做。
这是我的请求 API:
@POST("book")
@FormUrlEncoded
Call<BookTicket> BookFlight(@Header("Authorization") String authorization,
@Header("Content-Type") String content_type,
@Field("rootType") Integer rootType ,
@Field("BookingStep2") ArrayList<JSONObject> BookingStep2
);
这是一个示例请求:
{
"rootType": 1,
"BookingStep2": {
"OriginFlightSegment": {
"FlightNumber": "sample",
"Source": "sample",
"TotalTime": "sample",
"FareDatas": [
{
"PassengerType": 1,
"Endorsements": "sample",
"FareBasisCode": "sample"
},
{
"PassengerType": 1,
"Endorsements": "sample",
"FareBasisCode": "sample"
}
]
}
}
}
在改造中将 JSON 数组作为字段发送是否正确?
要将数组对象发布为 form-url_encoded,只需在改造中使用它。
@POST(ApiConstants.JOB_CARD_SAVE)
@FormUrlEncoded
Call<MasterResponse<JobCardSaveResponse>> jobCardSave(@FieldMap Map<String, Object> _jobCardRequest,
@Field("qty[]") List<String> qty,
@Field("service_id[]") List<String> service_id);
只需将数组对象放入@field 中即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)