DevJong12

[Issue]Static주소를 입력시 발생하는 No Handler Exception 본문

프로젝트/NoobLoL

[Issue]Static주소를 입력시 발생하는 No Handler Exception

Jong12 2022. 9. 21. 02:15
728x90

이슈 내용

아래의 사진처럼 resources/static/docs/index.html에 문서가 실재 존재하나, 경로를 입력할 경우 No Handler Exception이 발생하는 문제를 해결하는 과정에 대한 기록.

실제 Index.html이 실재 존재하나, 링크처럼 입력을 하게 될 경우, 해당 Bad_Request되고 있었다.

오류로 나오는 스택역시 NoHandlerFoundException이 발생하고 있었다.


발생 원인

해당 문제의 발생원인은 내가 셋팅한 프로젝트 설정으로 인해 발생한 문제다. 이유는 아래의 생각떄문에 했던 설정이 문제다.

ResponseBody에 대해서 내가 직접 제작을 했으니, 어떤 잘못된 요청이 들어와도 내가 직접 제작한 Response Body로 응답이 가야하지 않을까? 그렇게 만들어보자!

라는 생각으로 했던 설정이 문제가 되어 위와 같은 문제가 발생하였다.

하... 다음에는 ResponseEntity를 그냥 사용하도록 해야겠다.

문제가 된 설정은 application.yml에서 아래의 설정이 원인이 되었다.


해결 방법

일단 BackEnd에 대해서 구상을 하면서, html을 띄울 일이 없겠지 생각했으나 내가 만든 기능에 대한 문서를 띄우려 하다보니 html을 출력할 필요하게 되었고, /docs/*.html로 들어오는 링크에 대해서는 .html파일을 출력해 줘야할 필요가 있었다.

 

그러기 위해서는 WebMvcConfigurer에 대한 설정을 다시금 해야했다.

주석에 있듯, WebMvcConfigurer을 상속받아 구현을 하였다.

docs로 들어오는 경로에 대해서 문서의 직접적인 설정을 추가하였다.

 

최초에 아래의 문제를 보고 설정을 진행하였으나, 이후 직접 설정을 해보니 addResourceHandlers에 대한 셋팅만 해주면 별다른 문제는 없었다.

https://stackoverflow.com/questions/63893805/in-spring-boot-rest-docs-how-to-set-html-suffix

 

in spring boot + rest docs, how to set '.html' suffix

this is example repository. https://github.com/JYK0128/Debug-Projects/tree/master/Spring_RestDocs_Example I try to Make resolver bean OR Set Profiles. I did mapping resource. just in cases. try fi...

stackoverflow.com

 

 

 

이후 다시 docs를 활용해 링크에 접속시 정상적으로 문서화를 진행한 html파일이 출력되고있었다.

 

 

 

728x90
Comments