복붙노트

[SPRING] 봄 @RequestMapping

SPRING

봄 @RequestMapping

Spring의 @RequestMapping 주석에서 이런 종류의 param value = "/ redirect / {id}"가 계속 표시됩니다. {id}가 무엇인지 궁금합니다. 이것은 일종의 표현 언어입니까?

내가 본 것의 샘플 코드 :

@RequestMapping( value = "/files/{id}", method = RequestMethod.GET )
public void getFile( @PathVariable( "id" )
String fileName, HttpServletResponse response )
{
    try
    {
         // get your file as InputStream
         InputStream is = new FileInputStream("/pathToFile/"+ fileName);
         // copy it to response's OutputStream
         IOUtils.copy( is, response.getOutputStream() );
         response.flushBuffer();
    }
    catch( IOException ex )
    {
         throw new RuntimeException( "IOError writing file to output stream" );
    }

}

내 질문은 매핑에서 {id}가 무엇이며 @PathVariable 주석과의 관계와 사용 방법은 무엇입니까? 나는 웹에서 일부 정보를 빨간색으로 표시하지만 여러분들로부터 훨씬 더 명확한 설명을 듣는 것이 훨씬 더 감사하겠습니다.

해결법

  1. ==============================

    1.@RequestMapping 값의 {foo} 부분은 경로 변수이며 이는 요청 매개 변수가 아닌 URL 경로에서 검색된 값을 의미합니다.

    @RequestMapping 값의 {foo} 부분은 경로 변수이며 이는 요청 매개 변수가 아닌 URL 경로에서 검색된 값을 의미합니다.

    예를 들어 사용자가 /files/foo.zip에 액세스하면 {id}는 foo.zip과 일치하며 @PathVariable ( "id") 주석이있는 변수에 해당 값을 저장하도록 Spring에 지시합니다.

    @RequestMapping 주석 값의 URL 식별자에 여러 경로 변수를 가질 수 있으며 중괄호 안에 사용한 것과 동일한 ID로 @PathVariable을 사용하여 이러한 값을 변수에 삽입 할 수 있습니다.

  2. ==============================

    2.예를 들어 ../files/1 또는 ../files/2 또는 ../files/3을 탐색하면 숫자가 다른 파일 이름을 나타냅니다. @PathVariable ( "id")을 사용하면 한 가지 목적으로 다른 매개 변수 함수를 작성하는 시간을 절약 할 수 있습니다.

    예를 들어 ../files/1 또는 ../files/2 또는 ../files/3을 탐색하면 숫자가 다른 파일 이름을 나타냅니다. @PathVariable ( "id")을 사용하면 한 가지 목적으로 다른 매개 변수 함수를 작성하는 시간을 절약 할 수 있습니다.

  3. ==============================

    3.{id}는 @PathVariable ( "id")를 사용하여 id를 검색하고 메소드에 인수로 전달하는 URL 쿼리 문자열입니다. 하나의 메소드는 여기에서 id를 변경하여 다른 요청에 적합합니다. 감사.

    {id}는 @PathVariable ( "id")를 사용하여 id를 검색하고 메소드에 인수로 전달하는 URL 쿼리 문자열입니다. 하나의 메소드는 여기에서 id를 변경하여 다른 요청에 적합합니다. 감사.

  4. ==============================

    4.

    @RequestMapping( value = "/files/{id}", method = RequestMethod.GET )
    public void getFile( @PathVariable( "id" ) **String id**)
    String fileName, HttpServletResponse response )
    {
        //your code here
    }
    

    pathvariable은 메소드 매개 변수를 사용하여 URI를 맵핑합니다. 여기에 id는 요청과 함께 보내는 것입니다. / files / 7.

  5. from https://stackoverflow.com/questions/19627961/spring-requestmapping by cc-by-sa and MIT license