博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
请求映射处理方式
阅读量:4576 次
发布时间:2019-06-08

本文共 2700 字,大约阅读时间需要 9 分钟。

1请求路径映射

  1.1普通的url映射

    多个URL路径可以映射到 同一个处理器的功能处理方法

    @RequestMapping(value={"/doSayHello", "/user/doSayWelcome"}):

  1.2Rest风格url映射

    REST即表述性状态传递(英文:Representational State Transfer,简称REST),是一种软件架构编码风格,是基于网络应用进行设计和开发的编码方式。可以降低开发的复杂度,提高程序的可伸缩性。

    例如:

    @RequestMapping("/msg/{xxx}")

    请求的URL可以是“/msg/hello”或“/msg/welcome”

    @RequestMapping("/msg/{id}/create"):

    请求的URL可以是“/users/1/create”。

    @RequestMapping("/msg/{mId}/topics/{tId}")

    这样也是可以的,请求的URL可以是“/users/10/topics/12”。

    说明:通过@PathVariable可以提取URI模板模式中的{×××}中的×××变量。

2.请求方式映射

 

  2.1请求方式限定

    借助@RequestMapping注解中的method属性指定具体的请求处理方式 

    @RequestMapping(value=”doSaveObj”,

    method=RequestMethod.POST)

    public String doSaveObject(Object obj){….}

    知识点扩展:

      @GetMapping注解应用(定义的映射只能处理get请求)

      @PostMapping注解应用(定义的映射只能处理post请求)

   2.2请求方式组合

    项目中还可在控制层方法上借助@RequestMapping注解中的method属性指定使用哪几种方式处理请求。

 

3.请求参数映射(重点)

  3.1标准Servlet API(了解)  

    请求映射方法中可以直接使用ServletAPI 中的对象获取参数数据,例如HttpServletRequest,HttpSession对象等,例如: 

    @RequestMapping(value="withRequest",method=RequestMethod.GET)

    @ResponseBody

    public String withRequest(HttpServletRequest request){

           System.out.println(request.getRequestURI());

           return "Obtainer 'foo' query parameter value

'      "+request.getParameter("gid")+"'";

    }

  3.2直接量对象(重点)

    SpringMVC 请求一个控制层资源时,可以在对应方法中直接使用参数变量接收参数数据,但参数变量的类型建议为对象类型

    使用String类型变量接受请求参数的值:

    @RequestMapping(value="withStringParam",method=RequestMethod.GET)

    @ResponseBody

    public String withStringParam(@RequestParam String foo) {

         return "Obtained 'foo' query parameter value '" + foo + "'";

    }

    提示:@RequestParam注解用于接收请求参数中名字为foo的参数值,假如请求参数名与方法中的参数名一致,@RequestParam注解可以省略。假如不一致则可以使用@RequestParam注解定义新的参数名直接接收页面数据,然后传递给方法名,还有就是请求参数中包含特殊字符时,需要借助@RequestParam注解对参数进行声明。例如

    @RequestMapping(value="withStringParam", method=RequestMethod.GET)

    @ResponseBody

    public String withStringParam(

        @RequestParam(value="param-01",required=false) String foo) {

           return "Obtained 'foo' query parameter value '" + foo + "'";

    }

    提示:required=false表示,参数可以不存在,假如为true(默认),参数不存在时会抛出异常(400异常)。

   3.3Java bean对象(重点)

    当请求中多个参数时可以通过在方法中定义多个参数接收参数数据,也可以利用一个javabean对象接收多个参数数据以简化多个参数变量的定义。

   3.4集合Map对象(了解)

    说明:通过map接收页面参数时,需要使用@RequestParam注解声明

  3.5Rest url数据(重点)

    SpringMVC请求资源路径的URL可以通过{XXX}形式指定动态的URL,动态URL中的这个可变参数的值可以直接注入到方法对应的参数中。 

    @RequestMapping(value="path/{var}",method=RequestMethod.GET)

    @ResponseBody

    public String withPathVariable(@PathVariable String var) {

          return "Obtained 'var' path variable value '" + var + "'";

    }

    通过@PathVariable注解指定参数变量var获取请求url中{var}数据

  

转载于:https://www.cnblogs.com/l-x-x-y-d-j/p/10231448.html

你可能感兴趣的文章
省市县三级联动
查看>>
多IP地址--笔记
查看>>
三级菜单小练习
查看>>
vim 插件管理
查看>>
Guid函数
查看>>
java的加减乘除问题
查看>>
Android 系统常用的权限
查看>>
类型参数约束 : Controller where T : class,new()
查看>>
N卡控制面板把physx设置为cpu
查看>>
Javsssist用InsertAt()方法对语句插桩
查看>>
java安装Jboss插件
查看>>
宝塔apache配置
查看>>
shell脚本中使用nohup执行命令不生效
查看>>
PHP 文件上传七牛云
查看>>
ZT:Unity与C++之间进行socket通信
查看>>
Ural 1517. Freedom of Choice 后缀数组
查看>>
【转载】Maven入门实践
查看>>
1-4-03:奇偶数判断
查看>>
【SQL Server备份恢复】提高SQL Server备份速度
查看>>
命令行简介(附加参考资料)
查看>>