Retrofit

@Path

@FormUrlEncoded
        @POST("/v1//yf/orderPayDetail/{orderId}")
        Observable<PayInfo> getOrderPayInfo(@Path("orderId") long orderId, @FieldMap Map<String, String> map,
                                            @Header("Cache-Control") String cacheControl);

url中的path可通过变量配置,如上orderId

@Body

如何传递Json字符串
我们知道retrofit直接传递的是一个bean对象,这有很多好处,那想直接传递Json字符串呢?

@POST("/passenger/delpassenger")
        Observable<HandleResult> delPassenger(@Body String data, @Query("userid") long userid, @Query("token") String token);

当我将@Body设置为String,然后data里传入已经转好的Json字符串。
然后发现Json Text是这样的。
这里写图片描述

解决办法是:将要传递的json 用Map封装起来,然后交给Retrofit,效果是一样的。

@POST("/passenger/delpassenger")
        Observable<HandleResult> delPassenger(@Body Map<String,String> data, @Query("userid") long userid, @Query("token") String token);

@FieldMap

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值