public class User {
private String name;
public String toString() {
return "User{name: " + name + "}";
}
}
public class TestClient {
@PostMapping
void test(@Body User user, @DataFile File file);
}
在 OkHttp3BodyBuilder#addMultipart(MultipartBody.Builder, String, Object, String, Charset, ForestJsonConverter) 方法实现中,对 value 的操作如下:
版本:1.5.28
个人示例
在
OkHttp3BodyBuilder#addMultipart(MultipartBody.Builder, String, Object, String, Charset, ForestJsonConverter)
方法实现中,对 value 的操作如下:该实现只会对
Map
和Collection
进行jsonConverter.encodeToString()
序列化,对其它Object
都直接以toString()
,这时在我的示例中user
Part 内容就直接显示的是toString()
的结果(预期:显示User
对象的Json
字符串)。问题是为什么不能让我自定义的类也走jsonConverter.encodeToString()
序列化。而不是修改test()
方法的user
参数为字符串类型,自己先把参数序列化好再传入?是跟Java
原生类不好区分吗,亦或是其它原因?