나는 봄 부트 컨트롤러에서 반복적 인 코드를 줄일 수있는 방법

j.sinjaradze :

난 그냥 내 서비스를 위해 스프링 부팅을 사용하기 시작했습니다. 나는 그들의 몸에서 동일한 코드를 사용하는 몇 가지 컨트롤러를 가지고있다. 각 제어기, 예를 들어 I 요청에 의한 요청 객체가 널인지 여부를 확인할 수있다 :

if (request == null){
    throw new InvalidRequestException("the request object is null");
}

코드의 반복을 방지 할 수있는 방법이 있는지 궁금 그래서 내가 여러 컨트롤러에 코드를 반복하는 것은 좋은 방법이 아니라고 알고, 또는 스프링 부팅이 언급 한 문제에 대한 솔루션을 제공합니다.

BSeitkazin :

당신은 당신이 정의하는 곳, 그래서 당신의 응용 프로그램에서, SpringBoot을 사용하는 @SpringBootApplication주석을, 당신이 다음을 지정할 수 있습니다 @Bean:

@Bean
public HttpRequestHandler httpRequestHandler () {
    return new MyHttpRequestHandler();
}

또한 만들 MyHttpRequestHandler당신이 어떤 로직을 만들 수 있습니다 클래스를 :

public class MyHttpRequestHandler implements HttpRequestHandler {

@Override
public void handleRequest (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        if (request == null) {
            throw new InvalidRequestException("the request object is null");
        }
   }
}

추천

출처http://43.154.161.224:23101/article/api/json?id=202485&siteId=1