У вас есть несколько вариантов:
1) Возврат сообщения:
Если вы хотите вернуть что-то подобное,
{
"message": "some error"
}
Что вы можете сделатьis:
Вариант 1. Создайте пользовательский класс POJO для сообщения об ошибке и верните ссылку на объект этого класса POJO.
Примерно так:
ErrorMessage.java
package org.example;
public class ErrorMessage {
private String message;
public ErrorMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Метод обработчика запросов в контроллере:
@GetMapping("/login{?username, password}")
public ErrorMessage isUserAuthenticated(@RequestParam String username, @RequestParam String password) {
if (username.toLowerCase().contentEquals("root") && password.contentEquals("system")) {
return new ErrorMessage("authenticated");
}
return null;
}
Опция 2. Создайте карту и вставьте пары ключ-значение, которые выхотите иметь в сообщении.
Пример:
@GetMapping("/login{?username, password}")
public Map<String, String> isUserAuthenticated(@RequestParam String username, @RequestParam String password) {
Map<String, String> message = new HashMap<>();
if (username.toLowerCase().contentEquals("root") && password.contentEquals("system")) {
message.put("message", "authenticated");
}
return message;
}
2) Возврат кода ошибки (настоятельно рекомендуется мной):
Вы можете использовать ResponseEntity дляс этой целью.
@GetMapping("/login{?username, password}")
public ResponseEntity<?> isUserAuthenticated(@RequestParam String username, @RequestParam String password) {
if (username.toLowerCase().contentEquals("root") && password.contentEquals("system")) {
return new ResponseEntity<>(HttpStatus.OK);
}
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}