inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 웹 MVC

모든 요청 URI 조작한후(?) 리다이렉트 하기

564

Yong D

작성한 질문수 22

0

[단순 요청 코드]
mockMvc
.perform(.get("/members/all/")); // MemberController에 있는 핸들러 매핑
mockMvc.perform(.get("/members/meber/5/"));
mockMvc.perform(.get("/articels/all/")); // ArticleController에 있는 핸들러 매핑
mockMvc.perform(.get("/articles/article/5/"));

[질문]
백선장님 위와 같은 요청을 Client에서 보낼때
요청 URI 마지막에 있는 슬래시(/)를 일괄적으로 없애고 보내고 싶을때는 어떻게 해야하나요??

마지막 슬래시(/)를 없애고 싶은 이유는
"REST 규칙: URI 마지막 문자로 슬래시(/)를 포함하지 않는다" 때문입니다

하지만 많은 유저들이 이런 규칙을 모르기 때문에 Redirect를 해주고 싶습니다

MVC java spring

답변 2

0

Yong D

답변 감사합니다

제 질문은 예를 들어서 아래 두 URI가 있을때 

https://www.inflearn.com/

https://www.inflearn.com

REST 원칙에 따르면 위 두개의 주소로 접속하면 서로 다른 리소스를 보여줘야 되는데
일반 사용자들은 두개가 서로 다르다는 사실을 모르니깐 
많은 회사들이 융통성있게  첫번째 주소를 두번쨰 주소로 리다이렉트 한다고 책에서 봤습니다

근데  모든 URI를 하나하나 리다이렉트 하는건 별로라고 생각했고 일괄적으로 처리할 수 있는 방법이 있나해서 질문드렸습니다

0

백기선

질문을 잘 이해를 못했는데요. 요청을 보내는 쪽에서 "/"로 끝내는 요청을 만들어 보내는걸 서버쪽에서 컨트롤 할 수는 없어요. 이미 서버로는 들어왔고 "/member/all" 로 맵핑해둔 핸들러 안에 들어왔겠죠.

맵핑이 되더라도 굳이 "/"를 없애고 싶다면 HandlerInterceptor를 만들어서 요청 URL을 수정해도 될꺼 같구요.

살짝 구글링을 해봤는데 비슷한 질문과 답이 보이네요. 참고하세요.

https://stackoverflow.com/questions/8711392/how-to-redirect-urls-with-trailing-slash-to-the-corresponding-ones-without-it

7:58 예제 코드 찾는 법

0

256

2

PATCH의 Idempotent에 대한 질문

0

257

1

2:51초 질문입니다.

0

324

1

만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?

0

361

0

web.xml에 위치한 애플리케이션 web.xml 내에서 파싱 오류 발생

0

515

0

Spring Boot 2.6 이상 버전에서의 DispatcherServlet

0

366

1

Event`Xxx`Controller 분리할때의 기준에 관한 질문입니다.

0

634

1

11분 57초 쯤, `returnValueHandlers` 들의 네이밍컨벤션 관련 질문입니다.

0

379

1

@EnableWebmvc 설정을 하면

0

415

1

springframework와의 차이점

0

283

1

@RequestBody의 바인딩에러를 잡는 방법

1

1655

2

안녕하세요 기선님 강의를 보다 서블릿에 궁금증이 생겨 질문 드립니다

1

237

1

HelloService의 값을 전달을 못 받습니다.

0

296

1

ServletContext와 WebApplicationContext의 관계 질문

1

740

1

하나의 서비스에, 두개의 리포지토리도 연결이 되나요?

0

364

1

view name 리턴에 대해

0

290

2

Formatter print 질문 드립니다.

0

232

1

에리 메시지가 한글입니다.

0

294

1

java 클래스파일로 설정되어 있던 것을 web.xml로 바꾸는 경우

0

338

1

@RequestParam

0

255

1

@Retention 질문

0

229

1

Event.builder() 관련 mac에서 lombok 문제 있으신 분들

0

198

1

스프링 부트 사용시 WebMvcConfigurerSupport 클래스

0

253

1

http://localhost:8080/hello 입력시 오류

0

492

4