如何获得不同API的不同参数,如下所述



我需要获得不同的参数来响应两个不同的APIgetAllgetbyID。现在我得到了相同的结果——两个API的second json

我想得到响应apigetALL的第一个json,而不需要一对多关系和我想获得响应apigetbyid的第二个json,具有一对多关系

第一个JSON响应:

{
"id":2,
"itemName":"book",
}

第二个JSON响应:

{
"id":2,
"itemName":"book",
"owner":
{
"id":1,
"name":"John"
}
}

用户类

public class User {
public int id;
public String name;
@JsonBackReference
public List<Item> userItems;
}

项目类别

public class Item {
public int id;
public String itemName;
@JsonManagedReference
public User owner;
}

有人能帮忙吗?

我的建议是让项目类只用于数据传输,比如:

public class ItemDTO {
public int id;
public String itemName;
}

然后在你的控制器中,你可以做这样的事情:

@GetMapping('/get-all')
public ResponseEntity<ItemDTO> getAll() {
//get Item object
Item item = //e.g database call
ItemDTO itemDTO = new ItemDTO(item.id, item.name);
return ResponseEntity.ok(itemDTO);
}
@GetMapping('/get-by-id/{id}')
public ResponseEntity<Item> getAll(@PathVariable Integer id) {
Item item = //e.g get item by id
return ResponseEntity.ok(item);
}

相关内容

  • 没有找到相关文章

最新更新