• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

spring mapping 여러개 문의 드립니다

23.09.08 17:02 작성 23.09.08 17:02 수정 조회수 501

0

안녕하세요 토비님

제가 자주 질문 드려서 싫어 하실거 같네요..

https://www.url01.urlcom/충청도 or 제주도 or 인제군 or ...(지자체 정보 170개 )

이런식으로 ~Controller.java

170개의 경우를 겟매핑이나 포스트매핑(보안문제로)

해야 합니다

@GetMapping({ '/충청도', '/제주도', or '/인제군' or ......이런식으로 170 개의 지자체 })

아래 부분을 위해서 수기 타이핑 문자열이 아닌

db에서 불러와서 배열로 넣을려고 하니 되지 않아서

제가 잘못 생각하고 있는지 여쭤봅니다

변수 = 서비스.지자체리스트; //170개 db에서 꺼내옴

@GetMapping({ value = 변수 }) ==> 이거 원래 안되는 것일 까요?

 

계속 스택오버플로우나 구글링 찾아봐도 제가

답을 못 찾았습니다

 

혹시 원래 되는 기능 이라면 , 제가 어디 문서를 찾아 봤었어야 할까요?

( 예를 들면 토비님 같은 경우

스프링 공식 문서 샘플 설명 사이트 나, 자주 방문하는 이 사이트 찾아 보면 금방 답이 나왔을 것이다

이런 부분 알려 주시면 감사합니다.. )

 

답변 1

답변을 작성해보세요.

1

매핑 목록을 db에서 가져오는 거 안 됩니다.

대신 충청도 이런게 들어가는 자리를 그 용도로만 고정한다면 @PathVariable을 쓰면 됩니다. 관련 자료를 찾아서 공부하세요.

@GetMapping("/ex/foos/{id}")

public String getFoosBySimplePathWithPathVariable(@PathVariable("id") long id) {

이러면 url의 {id} 자리에 있는 문자가 id 파라미터로 매핑됩니다. 충청도 같은 걸 이런 식으로 받게 하면 됩니다.

다만 이러면 /충청도 뿐 아니라 /main.do 도 다 이 컨트롤러로 매핑됩니다. url pattern이 다르게 중간에 뭔가 더 넣거나 다른 컨트롤러 매핑을 다르게 바꿔줘야 합니다.

이 방식을 못 쓰면 100개든 200개든 코드로 매핑에 다 걸어줘야 합니다. 갯수 제한이 있는지는 모르겠군요.

김동희님의 프로필

김동희

질문자

2023.09.08

감사합니다 토비님~

공무원분들이 하위 폴더

깔지말고 루트에 하라고

강조하니 어쩔수 없네요

간혹 구글링 해보먼

Getmapping multiple values

로 찾아보니

Getmapping(value=Array('{arr}' 이런 코드들도 보이더라구요 이건 스프링+자바 못 쓰는 문법이겠죠

알려주셔서 감사합니다 행복하고 즐거운 주말 보내세요!!

김동희님의 프로필

김동희

질문자

2023.09.11

토비님 드디어

문제가 해결되어서

내용 공유합니다

토비님의 다른 강의 기다립니다image