zoukankan      html  css  js  c++  java
  • springMVC 中的restful 架构风格

    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";
        }
  • 相关阅读:
    poj 1743 Musical Theme 后缀数组
    poj 1743 Musical Theme 后缀数组
    cf 432D Prefixes and Suffixes kmp
    cf 432D Prefixes and Suffixes kmp
    hdu Data Structure? 线段树
    关于position和anchorPoint之间的关系
    ios POST 信息
    CALayers的代码示例
    CALayers详解
    ios中得sqlite使用基础
  • 原文地址:https://www.cnblogs.com/yizhiamumu/p/9004321.html
Copyright © 2011-2022 走看看