fix work controller code 20001,20002
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2025-12-10 15:27:14 +07:00
parent 9ef192ed32
commit 420734ff87
16 changed files with 111 additions and 189 deletions
@@ -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;
}
}