AndServer icon indicating copy to clipboard operation
AndServer copied to clipboard

升级AGP8 开启混淆后 Controller 报错

Open Mocaris opened this issue 11 months ago • 1 comments

Controller MappingHandler 实现类里面,如下代码报错 报错行: Type body0Type = new TypeWrapper<CallJsFuncDTO>(){}.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 {}

Mocaris avatar Mar 18 '24 15:03 Mocaris

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

yanzhenjie avatar Apr 13 '24 11:04 yanzhenjie