【发布时间】:2021-06-13 08:54:35
【问题描述】:
我正在尝试将数据库中的列表中的项目作为行中的单个值插入。如何遍历发送的有效负载并将所有项目插入到单独的行中?我试图寻找没有运气的例子。我无法循环并在数据库中插入值。
这是有效载荷
{"labsigned":["234568","234567","2345678","2344556","12335677","2345677","234556","234545"]}
我的控制器
@RequestMapping(path = "/labreport/createrordispatched", method = RequestMethod.POST)
public ResponseEntity<?> createDispatched(@RequestBody Dispatched dispatched){
if(labDashboardService.createDispatched(dispatched)) {
return ResponseEntity.status(HttpStatus.CREATED).body(true);
}
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(false);
}
我的服务
public boolean createDispatched(Dispatched dispatched) {
List<Dispatched> newTickets = new ArrayList<>();
dispatched.setCreatedBy(getCurrentUserEmail());
dispatched.setDateCreated(System.currentTimeMillis());
for(String labsigned:dispatched.getlabsigned()){
Dispatched ticket = new Dispatched(
dispatched.getCreatedBy(),
dispatched.getDateCreated(),
labsigned
);
newTickets.add(ticket);
}
dispatchedRepository.saveAll(newTickets);
return true;
}
我的模特
@Entity
@Table(name = "DISPATCHED")
public class Dispatched {
private String id;
private String labsigned;
private Long dateCreated;
private String createdBy;
public Dispatched(){}
public Dispatched(String createdBy, Long dateCreated, String labsigned){
this.labsigned = rorlabsigned;
this.dateCreated = dateCreated;
this.createdBy = createdBy;
}
//getters and setters
给我错误的那一行
for(String rorlabsigned:dispatched.getRorlabsigned())
我应该如何设置我的实体以接受数组?
【问题讨论】:
-
dispatched.getlabsigned()返回labsigned的Dispatched属性,它是字符串而不是可迭代对象。那里的预期类型是什么?您试图从单个 Dispatched 对象创建新工单列表,这让我感到困惑。 -
它需要一个 Iterable 对象,因为有效负载来自
{"labsigned":["234568","234567","2345678","2344556","12335677","2345677","234556","234545"]}
标签: java