Spring-boot 에서 service 층 에서 vaidation 주 해 를 사용 합 니 다.

7326 단어 자바spring
Spring-boot 에서 service 층 에서 vaidation 주 해 를 사용 합 니 다.
오늘 쓴 업무 중 하 나 는 utils 와 유사 한 공공 서 비 스 를 써 서 각 업무원 모듈 을 호출 하 는 것 입 니 다.service 의 입 참 bean 검사 에 서 는@Validated 로 검사 파 라 메 터 를 설명 하려 고 합 니 다.즉,contrller 층 과 같은 검사 파 라 메 터 를 사용 하려 고 합 니 다.
public DataResult sendMessage(@Validated MessageDTO bean) {
    DataResult result =  new DataResult();
    try {
        messageDao.sendMessage(bean);
        result.setSuccess(true);
        result.setMsg("      ");
    } catch (Exception e) {
        String trace = "      :"+e.getMessage();
        log.error(trace,e);
        result.setSuccess(false);
        result.setMsg("      ");
    }
    return result;
}

하지만 이 럴 수 는 없다.백 스테이지 여러 가지 시 도 를 통 해 service 의 class 주석 에@Validated 를 추가 한 다음 인터페이스 에@Valid 주 해 를 추가 하면 검사 파 라 메 터 를 완벽 하 게 실현 할 수 있 는 방법 을 발견 하 였 습 니 다.
/**
 * @author zhaoshuai
 * @description MessageService       service
 * @date 2020-06-02
 */
@Service
@Validated
@Slf4j
public class MessageService {

    @Autowired
    private MessageDao messageDao;
    /**
     *     
     * @param bean
     * @return
     */
    public DataResult sendMessage(@Valid MessageDTO bean) {
        DataResult result =  new DataResult();
        try {
            messageDao.sendMessage(bean);
            result.setSuccess(true);
            result.setMsg("      ");
        } catch (Exception e) {
            String trace = "      :"+e.getMessage();
            log.error(trace,e);
            result.setSuccess(false);
            result.setMsg("      ");
        }
        return result;
    }
}

코드 를 조용히 쓰 는 것 을 좋아 하 는 쓰레기 프로그래머 는 아직도 분투 하고 있다.

좋은 웹페이지 즐겨찾기