Android 之retrofit2 之 @body上传服务器是空值

  • Post author:
  • Post category:其他


在处理Android使用retrofit2 通过post请求@body的形式时所遇问题。

第一个问题,类型转换异常Unable to create @Body converter for class 这个异常,bean无法转换异常,通过查阅资料,发现在创建retrofit2的时候要加上addConverterFactory(GsonConverterFactory.create())这句代码,将将bean进行转换

Retrofit retrofit = new Retrofit.Builder().client(okHttpClient).baseUrl(Comapi.baseurl).addConverterFactory(GsonConverterFactory.create()).build();

当第一个问题解决了,于是开心的向服务端发送请求时,打断点发现,接收的bean数据都是空的,对此。查阅资料分析,Android中发服务端发送的是一个带有body请求的参数,那么,后台的java代码是不是要对其进行标记。@RequestBody 在请求的接收bean参数中携带这个。果真。问题解决。部分代码服务端

  @RequestMapping(value = "updUserData",method = RequestMethod.POST)
    @ResponseBody
    public Object updUserData(@RequestBody Users users){

ps:进步源于积累。对错误的及时记录是对后期处理问题最大的帮助。



版权声明:本文为ArryLuo123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。