This commit is contained in:
@@ -9,7 +9,9 @@ import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.FieldError;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.soune.no_copy.dto.BaseRequest;
|
||||
import ru.soune.no_copy.dto.BaseResponse;
|
||||
import ru.soune.no_copy.dto.MessageCode;
|
||||
import ru.soune.no_copy.dto.RegAnswer;
|
||||
import ru.soune.no_copy.exception.NotValidFieldException;
|
||||
import ru.soune.no_copy.exception.ValidationException;
|
||||
import ru.soune.no_copy.handler.LoginRequestHandler;
|
||||
@@ -48,15 +50,15 @@ public class ApiController {
|
||||
RequestHandler handler = handlers.get(msgId);
|
||||
|
||||
if (handler == null) {
|
||||
return ResponseEntity.ok().body(fillResponseInfo(msgId,
|
||||
new BaseResponse(msgId,
|
||||
MessageCode.MSG_ID_NOT_FOUND.getCode(),
|
||||
MessageCode.MSG_ID_NOT_FOUND.getDescription()));
|
||||
MessageCode.MSG_ID_NOT_FOUND.getDescription(),
|
||||
new HashMap<>());
|
||||
}
|
||||
|
||||
Map<String, Object> response = handler.handle(request);
|
||||
BaseResponse response = handler.handle(request);
|
||||
|
||||
return ResponseEntity.ok().body(response);
|
||||
|
||||
} catch (ValidationException e) {
|
||||
return createValidationErrorResponse(e.getBindingResult(), e.getMsgId());
|
||||
} catch (NotValidFieldException e) {
|
||||
@@ -67,20 +69,17 @@ public class ApiController {
|
||||
}
|
||||
}
|
||||
|
||||
private ResponseEntity<Map<String, Object>> createValidationErrorResponse(
|
||||
BindingResult bindingResult, Integer msgId) {
|
||||
|
||||
Map<String, Object> response = fillResponseInfo(msgId, MessageCode.INVALID_FIELD.getCode(),
|
||||
MessageCode.INVALID_FIELD.getDescription());
|
||||
|
||||
private ResponseEntity<BaseResponse> createValidationErrorResponse(BindingResult bindingResult, Integer msgId) {
|
||||
List<Map<String, String>> fieldErrors = bindingResult.getFieldErrors()
|
||||
.stream()
|
||||
.map(this::createErrorDetail)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
response.put("field_errors", fieldErrors);
|
||||
RegAnswer regAnswer = new RegAnswer();
|
||||
regAnswer.setFieldErrors(fieldErrors);
|
||||
|
||||
return ResponseEntity.badRequest().body(response);
|
||||
return ResponseEntity.ok().body(new BaseResponse(msgId, MessageCode.INVALID_FIELD.getCode(),
|
||||
MessageCode.INVALID_FIELD.getDescription(), regAnswer));
|
||||
}
|
||||
|
||||
private Map<String, String> createErrorDetail(FieldError fieldError) {
|
||||
@@ -96,13 +95,4 @@ public class ApiController {
|
||||
|
||||
return errorDetail;
|
||||
}
|
||||
|
||||
private Map<String, Object> fillResponseInfo(Integer msgId, Integer messageCode, String messageDesc) {
|
||||
Map<String, Object> response = new HashMap<>();
|
||||
response.put("msg_id", msgId);
|
||||
response.put("message_code", messageCode);
|
||||
response.put("message_desc", messageDesc);
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user