当前位置: 首页 > 知识库问答 >
问题:

Android系统中请求式空体改造

胡星汉
2023-03-14

我在android中使用改型,GsonConverterFactory是一个转换器。

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://xxxxxxx.com")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

我想用身体发送POST请求。

public class MasterRequest 
{
}


public class User extends MasterRequest
{
 @SerializedName("email")
 public String email = null;
}

 @POST("{path}")
Call<MasterResponse> registerUser(@Path("path") String path, @Body MasterRequest masterRequest);

path是附加基本URL的URL。

当我在父类引用(MasterRequest)中发送子类(“用户”)对象时,转换器显示为空json;"{}".

但是当我发送用户类对象到下面的注册用户方法,然后它工作正常。

@POST("{path}")
Call<MasterResponse> registerUser(@Path("path") String path, @Body User user);

如何在父类实例中发送子类对象以生成请求正文?

共有1个答案

司马建柏
2023-03-14

格森就是这样工作的。序列化多态对象的最简单方法是使用RuntimeTypeAdapterFactory。你可以在这里找到详细的教程。与改装工程伟大!

 类似资料:
  • 本文向大家介绍Android中App字体大小不随系统改变而改变,包括了Android中App字体大小不随系统改变而改变的使用技巧和注意事项,需要的朋友参考一下 在 "设置" , "显示" , "字体大小" 里面我们可以设置系统字体大小 App界面字体,如果被修改之后,可能就达不到理想状态的效果,界面布局就发生了变化。 未修改过的效果(测试机型:Nexus 5):        正常        

  • 本文向大家介绍Android系统更改状态栏字体颜色,包括了Android系统更改状态栏字体颜色的使用技巧和注意事项,需要的朋友参考一下 随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面。我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上

  • 响应事件 function onResponse(Request $request,Response $response); 在任何的控制器响应结束后,均会执行该事件,该事件预留于做分析记录。例如结合onRequest事件做慢日志记录。 function onRequest(Request $request, Response $response) { // TODO: Implement

  • 请求分发事件 function onDispatcher(Request $request,Response $response,$targetControllerClass,$targetAction); HTTP请求进来后,easySwoole会对请求进行解析以及分发,当找到对应的控制器后将会执行本事件 注意: 如果请求无法解析到对应的控制器,或控制器不是继承自AbstractControll

  • 收到请求事件 function onRequest(Request $request,Response $response); 当easySwoole收到任何的HTTP请求时,均会执行该事件。该事件可以对HTTP请求全局拦截。 $sec = new Security(); if($sec->check($request->getRequestParam())){ $response->wri