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

关于RESTful架构给你一个链接讲的挺好的:http://www.ruanyifeng.com/blog/2011/09/restful

这里我结合springMVC讲解一下RESTful在springMVC中的使用,在讲之前先来看看RESTful提倡哪些做法:

  1. 他会对url进行规范:

    a) 非REST风格的url:localhost:8080/springmvc?name=小白&password=123;

    b) REST风格的url:localhost:8080/springmvc/小白/123;

  分析:

    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_rest/小白/admin

      后台会匹配到:name="小白",password="admin"

/**
* 1.路径的变化:/hello_rest/{name}/{password}其中{}相当于可以的参数
* 2.参数的写法:需要利用@PathVariable("name")来匹配上面的参数
* 3.至于@PathVariable后面跟的形参你就可以随便命名了
* @param username
* @param password
* @return
*/
@RequestMapping(value = "/hello_rest/{name}/{password}")
public String hello_rest(@PathVariable("name") 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_rest

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

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

springMVC中添加restful 风格的更多相关文章

  1. springmvc中配置RESTful风格控制器

    一般的http请求中其实只需要get和post就可以满足项目需求了,而为什么还要使用restful可能就是为了使请求url看起来更加直观,好看吧.. restful常用的请求方式:get,post,p ...

  2. springMVC 中的restful 架构风格

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

  3. 如何在SpringMVC中使用REST风格的url

    如何在SpringMVC中使用REST风格的url 1.url写法: get:/restUrl/{id} post:/restUrl delete:/restUrl/{id} put:/restUrl ...

  4. 8.springMVC中的RESTful架构风格

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

  5. springMVC+json构建restful风格的服务

    首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应 ...

  6. SpringMvc笔记-对RESTFUL风格的配置

    1.@RequestMapping注解可以使用如下参数: 1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属 ...

  7. springmvc+swagger构建Restful风格文档

    本次和大家分享的是java方面的springmvc来构建的webapi接口+swagger文档:上篇文章分享.net的webapi用swagger来构建文档,因为有朋友问了为啥.net有docpage ...

  8. 【原】在Matplotlib绘图中添加Latex风格公式

    Matplotlib绘图的过程中,可以为各个轴的Label,图像的Title.Legend等元素添加Latex风格的公式. 只需要在Latex公式的文本前后各增加一个$符号,Matplotlib就可以 ...

  9. springMvc框架之Restful风格

    method: @Controller @RequestMapping("/test") public String MyController{ @RequestMapping(& ...

随机推荐

  1. Mysql join语句的优化

    Mysql4.1开始支持SQL的子查询.这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中.使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的 ...

  2. gcov 统计 inline 函数

    gcov 统计 inline 函数 (金庆的专栏) gcov可以统计 inline  函数,可是实际使用中碰到统计次数总是为0的现象. 假设类A的头文件为 A.h, 实现文件为 A.cpp. A 有几 ...

  3. [leetcode]经典算法题- String to Integer (atoi)

    题目描述: 把字符串转化为整数值 原文描述: Implement atoi to convert a string to an integer. Hint: Carefully consider al ...

  4. 开源摄影机:Axiom Camera

    一般情况下只有软件才有开源这个概念.这会儿发现了个很厉害的开源的产品:开源摄影机. 我还是第一次听说摄影机也可以开源.于是去该产品的官方网站了解了一下相关信息. 官网:http://axiom.ape ...

  5. Leetcode_162_Find Peak Element

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43415313 A peak element is an e ...

  6. JNI动态注册native方法及JNI数据使用

    前言 或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知道为什么这样干吧,至少也让我们知道调用流 ...

  7. hadoop学习大纲

  8. mysql_建立索引的优缺点

    http://blog.csdn.net/superit401/article/details/51291603 建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能.  ...

  9. 自定义仪表盘PaneView

    1.概述 最近学习自定义View,趁着周末做了一个仪表盘练练手,效果还可以,在此分享一下先上效果图(截图有点不清晰,凑合着看下吧) 项目在我的github上https://github.com/xsf ...

  10. android 开发Handler源码剖析

    Android的消息机制主要是Handler的运行机制,而讲Handler的机制,又需要和MessageQueue和Looper结合.MessageQueue中文意思是消息队列,虽说叫队列,但是其内部 ...