java - 在请求有效负载中设置字符串列表
问题描述
我需要在 REST API 中传递这个请求有效负载。对于下面的数据列表数组,我需要将其设置为请求,即使我没有像常量字符串列表那样从客户端获取。
这些是我的java类,任何人都可以帮助我在哪里设置它
{
"ph":"2019201234",
"customerId":"3504241",
"data":[
"./ManagedObjects/Phone/Manufacturer",
"./ManagedObjects/**something",
"./ManagedObjects/**something",
]
}
控制器:
@PostMapping(Constants.Endpoints.**)
public ShowParametersResponse getParams(@RequestBody ShowParametersRequest showParametersRequest) {
log.info("Got request as : " + showParametersRequest);
returnMapper.getParams(showParametersRequest);
}
映射器类:
public ShowParametersResponse getParams(ShowParametersRequest showParametersRequest) {
log.info("Fetching data from wireless");
ShowParametersResponse showParametersResponse = Service.getParams(showParametersRequest);
log.info("Fetched data/ mapping done.");
return showParametersResponse;
}
服务等级:
public ShowParametersResponse getParams(ShowParametersRequest showParametersRequest) {
ResponseEntity<ShowParametersResponse> res = restTemplate.postForEntity(
properties.getEndpoint() + Constants.Endpoints.***, showParametersRequest,
ShowParametersResponse.class);
log.info(res.getBody().toString());
return res.getBody();
}
请求类:
public class ShowParametersRequest {
@JsonProperty("ph")
private String ph;
@JsonProperty("customerId")
private String customerId;
@JsonProperty("data")
private List<String> data = null;
@JsonProperty("ph")
public String getPh() {
return ph;
}
@JsonProperty("ph")
public void setPh(String ph) {
this.ph = ph;
}
@JsonProperty("customerId")
public String getCustomerId() {
return customerId;
}
@JsonProperty("customerId")
public void setCustomerId(String customerId) {
this.imei = customerId;
}
@JsonProperty("data")
public List<String> getData() {
return data;
}
@JsonProperty("data")
public void setData(List<String> data) {
this.data = data;
}
}
解决方案
设置如下列表,您可以从客户端检查列表是否为空,然后可以根据您的要求添加它
List<String> constStringList = Arrays.asList("./ManagedObjects/Phone/Manufacturer",
"./ManagedObjects/**something",
"./ManagedObjects/**something");
@PostMapping(Constants.Endpoints.**)
public ShowParametersResponse getParams(@RequestBody ShowParametersRequest showParametersRequest) {
List<String> constStringList = Arrays.asList("./ManagedObjects/Phone/Manufacturer",
"./ManagedObjects/**something",
"./ManagedObjects/**something");
showParametersRequest.setData(constStringList);
log.info("Got request as : " + showParametersRequest);
returnMapper.getParams(showParametersRequest);
}
推荐阅读
- r - 如何更改列值?
- javascript - 超时功能中的条件不起作用
- python - TypeError:“NoneType”对象不可下标用于使用 opencv 进行圆形检测
- javascript - 获取围绕中心点js的位置窗口
- file - 在 dm-script 中将文本附加到文件的最佳方法
- c# - 使用 c# 和互操作选择过滤范围中的第一行
- python - 将四元数值从 IMU 重置为 X:0,Y:0,Z:0,W:1
- javascript - 如何在 React-native 中加载脚本?
- java - 将外部 jar 添加到 Maven 存储库不起作用
- javascript - 如何在html中循环随机化javascript函数