SpringMvc中的RestFul风格理解

标签: RESTFUL
27人阅读 评论(0) 收藏 举报
分类:

网上很多restful 都看了没有理解过来,整理了一下网上的加上自己的理解。

概念:RESTful架构:是一种设计的风格,并不是标准,只是提供了一组设计原则和约束条件,也是目前比较流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。

学习网站:理解RESTful架构

  1. 他会对url进行规范:

    a) REST风格的urllocalhost:8080/springmvc?userName=aa&password=bb;

    b) REST风格的urllocalhost:8080/springmvc/aa/bb

  优点:

    1. 简洁
    2. 安全
    3. 所有的url都可以当成是资源
  1. http的方法进行规范

      a)不管是删除,添加,更新….使用的url都是一致,那么如果需要删除,就把http的方法设置删除

      b) 控制器:通过判断http的方法来执行操作(增删改查)

     目前这种做法还没有被广泛采用

  3.contentType也进行规范

      a) 就是在请求是指定contentType的类型(json交互中就有体现)

  4.接下来看看springMVC中怎么实现RESTful风格

  首先:你在请求路径上@RequestMapping(value = "/hello_rest/{name}/{password}")需要用{}来动态匹配参数

  其次:方法的形参上要@PathVariable("name")来匹配上面的参数,这里@PathVariable中的字符串必须和你{}中的名字一致

  访问路径:localhost:8080/工程名/hello_rest/xx/xx(其中xx就是你随便填写的内容,它会匹配到后台的name和password的值)

    比如:

      你输入的路径是:localhost:8080/hello/aa/admin

      后台会匹配到:userName="aa",password="bb"

复制代码
/**
     * 1.路径的变化:/hello/{name}/{password}其中{}相当于可以的参数
     * 2.参数的写法:需要利用@PathVariable("name")来匹配上面的参数
     * 3.至于@PathVariable后面跟的形参你就可以随便命名了
     * @param userName
     * @param password
     * @return
     */
    @RequestMapping(value = "/hello/{userName}/{password}")
    public String hello_rest(@PathVariable("userName") String userName,
            @PathVariable("password") String password) {
        if("admin".equals(userName)&"123".equals(password)){
            System.out.println("登录成功");
            return "hello";
        }
        return "hello";
    }
    
复制代码

   这种写法和第一种类似,只不过是把{}动态匹配参数的放到前面去了,其原理是一样的,不多说,直接看看这个访问路径的写法就好

   访问路径:localhost:8080/xx/xx/hello

  只是把参数由后面放到前面去了而已。

复制代码
/**
     * 1.路径的变化:/{userName}/{password}/hello_rest其中{}相当于可以的参数
     * 2.参数的写法:需要利用@PathVariable("userName")来匹配上面的参数
     * 3.至于@PathVariable后面跟的形参你就可以随便命名了
     * @param userName
     * @param password
     * @return
     */
    @RequestMapping(value = "/{userName}/{password}/hello")
    public String hello_rest2(@PathVariable("userName") String userName,
            @PathVariable("password") String password) {
        if("admin".equals(userName)&"123".equals(password)){
            System.out.println("登录成功");
            return "hello";
        }
        return "hello";
    }
复制代码

查看评论

RESTful风格的springMVC

SpringMVC实现RESTful风格 RESTful简介 1,REST架构师一个抽象的概念,目前主要是基于HTTP协议实现,其目的是为了提高系统的可伸缩性,降低应用之间的耦合度,便于框架分布式...
  • wy5612087
  • wy5612087
  • 2016-08-08 19:24:51
  • 10638

基于Restful风格实现Spring MVC

如果说现在你要做一个系统,假设说有一个模块属于公告管理,那么我们可能安排路径的时候会这样安排NewsAction路径: · 增加新闻:/pages/back/admin/news/add.a...
  • lyflyyvip
  • lyflyyvip
  • 2016-10-16 21:28:19
  • 5031

SpringMVC+Restful风格编程

在SpringMVC搭建的基础上,进行设计Restful风格的接口。 Restful风格是基于http协议规范的,使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE等...
  • yjy19921120
  • yjy19921120
  • 2017-09-28 10:42:19
  • 184

springmvc restful风格支持

公司的一个内部系统url是restful风格的,远比我们系统的众多***.action请求格式看起来舒服。于是花了一两天研究下spring mvc 3.0对restful风格的支持。     同一个U...
  • bruce128
  • bruce128
  • 2015-11-09 16:30:56
  • 1628

Spring框架之基于Restful风格实现的SpringMVC

如果说现在你要做一个系统,假设说有一个模块属于公告管理,那么我们可能安排路径的时候会这样安排NewsAction路径:  · 增加新闻:/pages/back/admin/news/add.acti...
  • weide_java
  • weide_java
  • 2016-12-21 23:22:37
  • 11764

Spring MVC 支持RestFul风格尝试

Spring MVC 核心流程如今的java web开发,大致和以往我们在学校学习的SSH已经大不一样了,现在基本成熟的大公司都使用Spring MVC 快速开发WEB应用。当然小编我也是**Spri...
  • zzjmay
  • zzjmay
  • 2017-03-12 18:25:14
  • 1263

SpringMVC restful风格 url带参数问题

1、参数是字符串,如“abc”,这时直接将参数放到url后面即可,如:href = "/login/abc",在后台基于注入的方式可直接获取。 2、参数是字符串变量,如s = "abc",带参数形式...
  • hangdianyizhihua
  • hangdianyizhihua
  • 2015-08-13 17:28:31
  • 1079

SpringMVC中restful风格的URL

GET、POST、PUT、DELETE get操作是安全的,所谓的安全是不管多少次操作,对资源是状态是不会改变的。 PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样(同...
  • ID55552
  • ID55552
  • 2016-03-24 13:59:25
  • 1235

SpringMVC学习之RESTful风格post

RESTful不是一种技术,而是一种风格。下面这个是百度百科对这种风格的解释:      一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。...
  • qq_18895659
  • qq_18895659
  • 2016-07-06 00:11:26
  • 9644

SpringMVC的Restful风格Demo

  • 2015年04月21日 11:07
  • 25.46MB
  • 下载
    个人资料
    等级:
    访问量: 236
    积分: 111
    排名: 123万+
    文章存档