Я пытаюсь следовать рекомендациям при создании конечной точки REST для моего ресурса Dashboard
.Поэтому я планирую создать POST для создания, PUT для обновления и GET для получения Dashboard
в моем весеннем контроллере MVC.
Однако у меня также есть конечная точка API validate
, которая ничего не сохраняет и не обновляет в базе данных, поэтому я планировал использовать HTTP-метод GET
для конечной точки validate
.Но есть много параметров, которые мне нужно передать этой конечной точке, поэтому я бы предпочел, чтобы это был @RequestBody
, а не просто обычный параметр запроса, потому что GET
имеет предел, который я могу превысить.
Стоит ли использовать POST
вместо GET
, хотя я не планирую вносить какие-либо изменения в базу данных?
@PostMapping("/dashboards/{id}/validate")
public ResponseEntity<VisualMetadata> validateVisualMetadata(@PathVariable String id,
@Valid @RequestBody DashboardDto requestDto) {
}
UPD: DashboardDto
не просто имеет примитивы, такие как String / long/ integer, но также имеет вложенные сложные типы данных, такие как Axis
и Metric
class DashboardDto {
String id;
Axis axis;
List<Metric> metrics;
}