如何在 spring 中使用 POST 请求实现搜索 API
How to implement search API using POST request in spring
我有一个场景,我应该使用 POST 请求(而不是预期的“GET”)搜索对象,并将搜索条件作为请求的主体,类似于以下内容:
{
"criteria": {
"value": "BMC_BaseElement",
"identifier": "some value"
}
}
现在假设我需要根据“值”和“标识符”进行搜索。
我是否需要创建相应的“标准”POJO 并让 spring 反序列化它,使用 getter 获取“值”和“标识符”然后进行搜索,或者通常如何完成?
您可以为请求主体创建一个 POJO 模型,或者在这种情况下,您可以这样做:
import com.fasterxml.jackson.databind.node.ObjectNode;
@PostMapping("/search")
public ResponseEntity<List<Object>> search(@RequestBody ObjectNode body) {
String value = body.at("/criteria/value").textValue();
String identifier = body.at("/criteria/identifier").textValue();
return ResponseEntity.ok(List.of());
}
我有一个场景,我应该使用 POST 请求(而不是预期的“GET”)搜索对象,并将搜索条件作为请求的主体,类似于以下内容:
{
"criteria": {
"value": "BMC_BaseElement",
"identifier": "some value"
}
}
现在假设我需要根据“值”和“标识符”进行搜索。 我是否需要创建相应的“标准”POJO 并让 spring 反序列化它,使用 getter 获取“值”和“标识符”然后进行搜索,或者通常如何完成?
您可以为请求主体创建一个 POJO 模型,或者在这种情况下,您可以这样做:
import com.fasterxml.jackson.databind.node.ObjectNode;
@PostMapping("/search")
public ResponseEntity<List<Object>> search(@RequestBody ObjectNode body) {
String value = body.at("/criteria/value").textValue();
String identifier = body.at("/criteria/identifier").textValue();
return ResponseEntity.ok(List.of());
}