java – Spring @RequestMapping

前端之家收集整理的这篇文章主要介绍了java – 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注释的关系以及如何使用它?我从网上红了一些信息,但我会更加欣赏,听到你们更清楚的解释.

解决方法

@RequestMapping值中的{foo}部分是一个路径变量,表示从url路径检索的值,而不是请求参数.

例如,如果用户访问/files/foo.zip,则{id}将匹配foo.zip,并告诉Spring将该值存储到具有注释@PathVariable(“id”)的变量中.

您可以在@RequestMapping注释值的URL标识符中具有多个路径变量,并且可以通过使用与大括号内使用相同id的@PathVariable将这些值注入到变量中.

猜你在找的Java相关文章