/
NetGore
/
123
Обзор
Документация
Войти
/
NetGore
/
123
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/example/lab2/controller/MyController.java
81 строка
3 KB
Qummach
Lab3
10 окт 2025, 21:16
10 окт 2025, 21:16
cfd8723
Код
Авторство
О чём код?
package org.example.lab2.controller; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.example.lab2.exception.UnsupportedCodeException; import org.example.lab2.exception.ValidationFailedException; import org.example.lab2.model.*; import org.example.lab2.service.ModifyResponseService; import org.example.lab2.service.ValidationService; import org.example.lab2.util.DateTimeUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.Date; @Slf4j @RestController public class MyController { private final ValidationService validationService; private final ModifyResponseService modifyResponseService; @Autowired public MyController(ValidationService validationService, @Qualifier("ModifySystemTimeResponseService") ModifyResponseService modifyResponseService){ this.validationService = validationService; this.modifyResponseService = modifyResponseService; } @PostMapping(value = "/feedback") public ResponseEntity<Response> feedback(@Valid @RequestBody Request request, BindingResult bindingResult){ log.info("Request: {}", request); Response response = Response.builder() .uid(request.getUid()) .operationUid(request.getOperationUid()) .systemName(request.getSystemName()) .systemTime(DateTimeUtil.getCustomFormat().format(new Date())) .code(Codes.SUCCESS) .errorCode(ErrorCodes.EMPTY) .errorMessage(ErrorMessages.EMPTY) .build(); log.info("response: {}", response); try{ validationService.isValid(bindingResult); if ("123".equals(request.getUid())) { throw new UnsupportedCodeException("Unsupported code"); } } catch (ValidationFailedException e){ response.setCode(Codes.FAILED); response.setErrorCode(ErrorCodes.VALIDATION_EXCEPTION); response.setErrorMessage(ErrorMessages.VALIDATION); log.error("response error: {}", response); return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST); } catch (UnsupportedCodeException e){ response.setCode(Codes.FAILED); response.setErrorCode(ErrorCodes.UNSUPPORTED_EXCEPTION); response.setErrorMessage(ErrorMessages.UNSUPPORTED); log.error("response error: {}", response); return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST); } catch (Exception e){ response.setCode(Codes.FAILED); response.setErrorCode(ErrorCodes.UNKNOWN_EXCEPTION); response.setErrorMessage(ErrorMessages.UNKNOWN); log.error("response error: {}", response); return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR); } modifyResponseService.modify(response); log.info("response: {}", modifyResponseService.modify(response)); return new ResponseEntity<>(modifyResponseService.modify(response), HttpStatus.OK); } }