Чтобы настроить свой собственный ответ для ошибки 400 с кастомным сообщением в вашем API-контроллере, вы можете создать объект, который будет содержать это сообщение, и вернуть его вместе с статусом 400. Ниже приведён пример, как это можно сделать.
1. Создайте класс для представления вашего сообщения об ошибке. Это может быть простой класс с одним полем для сообщения.
```java
public class ErrorResponse {
private String error;
public ErrorResponse(String error) {
this.error = error;
}
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
}
```
2. Измените ваш контроллер, чтобы возвращать объект `ErrorResponse` вместо пустого ответа при ошибке 400:
```java
@GetMapping("getproject2/{id}")
public ResponseEntity<?> getProjectByIds1(@PathVariable int id) {
ProjectDTOmain project = projectService.getProjectById(id);
if (project == null) { // Проверка на наличие проекта
ErrorResponse errorResponse = new ErrorResponse("не верный id");
return ResponseEntity.badRequest().body(errorResponse); // Возвращаем статус 400 с сообщением об ошибке
}
return ResponseEntity.ok(project); // Возвращаем проект с кодом 200
}
```
Теперь, если вы выполните запрос с несуществующим ID, вы получите ответ со статусом 400 и телом, содержащим:
```json
{
"error": "не верный id"
}
```
Таким образом, вы сможете предоставлять более информативные ответы на ошибки в вашем API.