REST(Representational State Transfer,表述性状态转移)是一种软件风格。所谓的REST风格可以简单理解为:使用url表示资源时,每个资源都用一个独一无二的url来表示,并使用http方法表示操作,即准确描述服务器对资源的处理动作(get、post、put、delete),实现资源的增删改差。举例如下

/user/view/12  /userview.html?id=12

/user/delete/12  /userdelete.html?id=12

/user/modify/12   /usermodify.html?id=12

我们可以发现REST风格的url中最明显的就是参数不再使用“ ?”传递。这种风格可读性好,项目结构清晰,springmvc也提供对这种风格的支持。

由于url参数有时会传递中文,那么就会出现中文乱码问题,所以要根据实际情况灵活处理,混搭使用。

@RequestMapping(value = "/view/{id}", method = RequestMethod.GET)
public String view(@PathVariable String id, Model model){
User user = userService.getUserById(id);
model.addAttribute(user);
return "userview";
}

@PathVariable在spring-web依赖下,所在包如下

对于REST风格url中的参数接受,springmvc提供了@PathVariable注解,可以将url中的{xxx}占位符参数绑定到控制器处理方法的入参中。

REST风格,@PathVariable注解的更多相关文章

  1. @RequestMapping 和@ResponseBody 和 @RequestBody和@PathVariable 注解 注解用法

    接下来讲解一下 @RequestMapping  和@ResponseBody 和 @RequestBody和@PathVariable 注解 注解用法 @RequestMapping 为url映射路 ...

  2. @pathvariable 注解

    1.4. @PathVariable 注解 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVar ...

  3. 【SpringMVC】---RequestMapping、Ant 路径、PathVariable 注解、HiddenHttpMethodFilter 过滤器、用 POJO 作为参数

    一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  4. @PathVariable注解的使用和@Requestparam

    一. @PathVariable @PathVariable这是一个路径映射格式的书写方式注解,在类映射路径的后加上/{对应方法参数中属性@PathVariable("code") ...

  5. 阶段3 3.SpringMVC·_03.SpringMVC常用注解_3 PathVariable注解

    请求地址都一样,根据不同的请求方式,最终让不同的方法去执行.这就是restfull的风格 如果有两个查询都是get的.那么当前访问 满足条件的就是两个. 用一个占位符 {id} 演示PathVaria ...

  6. @RequestParam,@RequestBody,@ResponseBody,@PathVariable注解的一点小总结

    一.前提知识: http协议规定一次请求对应一次响应,根据不同的请求方式,请求的内容会有所不同: 发送GET请求是没有请求体的,参数会直接拼接保留到url后一并发送: 而POST请求是带有请求体的,带 ...

  7. @RequestParam,@RequestBody,@PathVariable注解还分不清吗?

    前言 在使用 SpringMVC 开发时,经常遇到前端传递的各种参数,比如 form 表单,JSON 数据,String[] 数组,再或者是最常见的 String 字符串等等,总之大部分场景都是在标题 ...

  8. @PathVariable注解

    spring mvc中的@PathVariable是用来获得请求url中的动态参数的,十分方便,复习下: . @Controller public class TestController { @Re ...

  9. Spring MVC @PathVariable注解

    下面用代码来演示@PathVariable传参方式 @RequestMapping("/user/{id}") public String test(@PathVariable(& ...

随机推荐

  1. [深度学习] R-CNN系论文略读

    总结: 一.R-CNN 摘要: 在对象检测方面,其性能在前几年就达到了一个比较稳定的状态.性能最好的方法是一种复杂的整体系统,它将多个图片的低级特征通过上下文组合起来. 本文提出了一种简单.可扩展的算 ...

  2. 什么是iframe及作用是什么?

    一. iframe是什么及作用 iframe是嵌入式框架, 是html标签, 还是一个内联元素, iframe 元素会创建包含另外一个文档的内联框架(即行内框架) . 说白了, iframe用来在页面 ...

  3. 用CSS如何实现单行图片与文字垂直居中

    图片样式为 以下为引用的内容:.style img{vertical-align:middle;.....} 如果STYLE中有其它如INPUT或其它内联元素可写成 以下为引用的内容:.style i ...

  4. APIView源码与Request源码分析

    一.APIView源码分析 1.安装djangorestframework 2.使用 drf是基于cbv view的封装,所以必须写cbv ①第一步:写视图,必须写cbv 路由配置: from res ...

  5. volatile学习

    第一.java内存模型 共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见. 从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之 ...

  6. kotlin实现流读取

    在Java对流的读取是下面的那样,当前不要忘记流的关闭close. // java 代码void someFunc(InputStream in, OutputStream out) throws I ...

  7. 自定义实现Java动态代理

    转自:https://www.cnblogs.com/rjzheng/p/8750265.html 一 借助JDK的API实现: 1.先创建一个接口,并实现它 public interface Per ...

  8. Golang协程实现流量统计系统(2)

    从进程开始,搜索和理解进程 Google 搜索关键词: C fork example 什么是fork Fork系统调用用于创建一个称为子进程的新进程,该子进程与进行fork()调用的进程(父进程)同时 ...

  9. hdjs---后盾网requireJS课程

    hdjs---后盾网requireJS课程 一.总结 一句话总结: requireJS是js端模块化开发,主要是实现js的异步加载,和管理模块之间的依赖关系,便于代码的编写和维 1.requireJS ...

  10. Uploading multiple files asynchronously by blueimp jquery-fileupload

    Uploading multiple files asynchronously by blueimp jquery-fileupload   Solved. Fiddle: http://jsfidd ...