yanzhenjie / AndServer

:cherries: Web server and web framework of Android platform.
https://yanzhenjie.com/AndServer
Apache License 2.0
3.74k stars 755 forks source link

升级AGP8 开启混淆后 Controller 报错 #534

Open Mocaris opened 8 months ago

Mocaris commented 8 months ago

Controller MappingHandler 实现类里面,如下代码报错 报错行: Type body0Type = new TypeWrapper(){}.getType();

log: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType / ---------- Building Parameters ---------- /

CallJsFuncDTO body0 = null;
if (converter != null && requestBody != null) {
  Type body0Type = new TypeWrapper<CallJsFuncDTO>(){}.getType();
  InputStream stream = requestBody.stream();
  MediaType mimeType = requestBody.contentType();
  body0 = converter.convert(stream, mimeType, body0Type);
}
if (body0 == null) {
  throw new BodyMissingException();
}
Object o = ((WebController)mHost).callJsFunc(body0);
return new ObjectView(true, o);

=================================== data class CallJsFuncDTO( @SerializedName("funcName") val funcName: String = "", @SerializedName("params") val params: Any? = null, )

//Controller

@PostMapping("/callJsFunc") fun callJsFunc(@RequestBodydto: CallJsFuncDTO): ResultRepose {}

yanzhenjie commented 7 months ago

看起来应该是CallJsFuncDTO不应该混淆。