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

关于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都可以当成是资源

2.对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";
}

springMVC 中的restful 架构风格的更多相关文章

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

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

  2. (转载)RESTful架构风格下的4大常见安全问题

    转载自<RESTful架构风格下的4大常见安全问题>,作者:马伟 伴随着RESTful架构风格的大量应用微服务架构的流行,一些本来难以察觉到的安全问题也逐渐开始显现出来.在我经历过的各种采 ...

  3. 【转载】RESTful 架构风格概述

    本文转载自https://blog.igevin.info/posts/restful-architecture-in-general/ 在移动互联网的大潮下,随着docker等技术的兴起,『微服务』 ...

  4. RESTful 架构风格

    在移动互联网的大潮下,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓R ...

  5. springMVC中添加restful 风格

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

  6. restful 架构风格的curd(增删改查)

    restful架构 概念:REST指的是一组架构约束条件和原则,如果一个架构符合REST的约束条件和原则,就称之为RESTful架构. restful不是一个专门的技术,他是一个规范.规范就是写写代码 ...

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

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

  8. SpringMVC框架——集成RESTful架构

    REST:Representational State Transfer 资源表现层状态转换 Resources 资源 Representation 资源表现层 State Transfer 状态转换 ...

  9. RESTful 架构风格概述

    http://blog.igevin.info/posts/restful-architecture-in-general/(非常好) http://blog.igevin.info/posts/re ...

随机推荐

  1. UNIX环境高级编程——pthread_create的问题

    linux 下常用的创建多线程函数pthread_create(pthread_t * thread , pthread_attr_t * attr , void *(*start_routine)( ...

  2. 12.3、Libgdx的图像之截屏

    (官网:www.libgdx.cn) 接下来的示例说明怎样进行截屏并且保存为PNG格式. public class ScreenshotFactory { private static int cou ...

  3. Oracle PL/SQL Articles

    我是搬运工....http://www.oracle-base.com/articles/plsql/articles-plsql.php Oracle 8i Oracle 9i Oracle 10g ...

  4. java Serializable 生成随机序列

    如果你implements 了 Serializable接口 但是没写 UID,eclipse会在你的类名边上有一个警告,你点击一下,有一个选项自动生成 UID,所以请用eclipse写java代码

  5. 【一天一道LeetCode】#70. Climbing Stairs

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 You are ...

  6. thinkpad x260在ubuntu 14.04lts wifi驱动安装 ( ubuntu iwlwifi驱动 都可行 )

    实验室要新购笔记本x260,用于ROS调试,装上ubuntu-ros后,发现wifi不支持. 查阅大量资料,如下: http://www.ubuntu.com/certification/hardwa ...

  7. Spring mvc整合freemarker详解

    1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式 ...

  8. C++格式化输出,C++输出格式控制

    在输出数据时,为简便起见,往往不指定输出的格式,由系统根据数据的类型采取默认的格式,但有时希望数据按指定的格式输出,如要求以十六进制或八进制形式 输出一个 整数,对输出的小数只保留两位小数等.有两种方 ...

  9. ORACLE 多表关联 UPDATE 语句

    为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create table customers ( customer_id num ...

  10. [转]Android长度单位详解

    android中定义的dimension单位有以下这些:px(Pixels ,像素):对应屏幕上的实际像素点.in(Inches ,英寸):屏幕物理长度单位.mm(Millimeters ,毫米):屏 ...