我需要记录多个微服务API调用,所以我有一个问题,如何直接从java pojo类中创建json字符串。比如说
MyPojo.java
public class MyPojo {
String name;
List<String> address;
public MyPojo() {
// TODO Auto-generated constructor stub
}
//setters and getters
}
字符串
现在我需要pojo的string json结构,而不需要创建类的object。可能与swagger API在web UI中创建@RequestBody对象的json结构的方式相同。
比如:
String jsonStruct=SomeUtil.convertPojoToJson(MyPojo.class)
型
那么它应该给予:
{"name":"string","address":[]}
型
我的尝试:
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.v3.core.converter.ModelConverters;
import io.swagger.v3.core.util.Json;
import io.swagger.v3.oas.models.media.Schema;
public class TEst {
public static void main(String[] args) throws JsonProcessingException {
ObjectMapper obj = new ObjectMapper();
MyPojo o=new MyPojo();
o.setName("aa");
List<String> l=Arrays.asList("a","s");
o.setAddress(l);
System.out.println(obj.writeValueAsString(o));
}
}
型
实际o/p:
{"name":"aa","address":["a","s"]}
型
所需o/p:
{"name":"string","address":["string"]}
型
关注:但我需要创建而不创建对象,因为真实的上pojo是巨大的,不可能设置所有的虚拟数据。
1条答案
按热度按时间ewm0tg9j1#
可以使用Podam
PODAM是一个轻量级的工具,用于自动填充Java POJO数据。这在开发单元测试时很方便。多亏了PODAM,用户现在有了一个可以完成所有工作的一行程序。
在项目中添加PODAM依赖项
字符串
DataProviderStrategy
(随机数据)PodamFactory
bean,使用 Data Provider Strategy 初始化PodamFactory
bean型