将数据从React应用程序发送到Spring Boot Controller时遇到了一个小问题,我通过put方法发送了数据,但出现400错误,并且出现了eclipse错误,所以我要做的是:export const changeContratTypes = (idContrat, items, declaration) => { const endpoint = template(CONTRAT_TYPES_CHANGE); return instance // just an axios instance .put(endpoint({ idContrat }), { items, declaration }) .then(values => values) .catch(err => err.response);};我的端点常量是url,很简单,我发送的声明是整数,而item是对象数组,我的对象结构是:{ id: 1, // or 2, 3, .... isSelected: true, // or false title: "a String here" }为了在Spring Boot中得到这个,我在控制器中创建了这个方法:@CrossOrigin(origins = "*")@ApiOperation(value = "${contrat.recuperation}", notes = "${contrat.recuperation.notes}", response = ContratDetailDto.class)@PutMapping(value="/{idContrat}/trtype")@ApiModelProperty(example = "4000004")@ApiResponses(value = { @ApiResponse(code = 200, message = "Enrigistrer Les types de contrats ") })public ResponseEntity enrigistrerTypesDeContrat(@ApiParam(value = "${contrat.recuperation.param.id}") @PathVariable long idContrat, @RequestBody TypesConformites tcf) { if (log.isDebugEnabled()) { log.debug("appel de la méthode enrigistrerTypesDeContrat"); } System.out.println("Voila "+tcf.getDeclaration()); return ResponseEntity.ok(HttpStatus.OK);}该控制器映射良好,其他方法也可以正常工作,但是我使用的所有方法都是Get Methods。在此之前,我要做的是创建一个用作RequestBody的类:@Getter @Setterpublic class TypesConformites { private int declaration; private ArrayList<Item> items; public TypesConformites() { }} 这是我的Item类:@Getter @Setterpublic class Item { private int id; private String title; private boolean isSelected; public Item() { }}该代码有什么问题,任何帮助将不胜感激。
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
通常,该商品会像这样由杰克逊反序列化:-
public void setId(String firstName) {
public void setTitle(String lastName) {
public void setSelected(boolean isActive) {
为了避免这种情况,您可以在Item和request主体中更改映射名称。
添加回答
举报
0/150
提交
取消