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";
        }
  • 相关阅读:
    python基础--选择排序
    python基础--冒泡排序
    python基础----以面向对象的思想编写游戏技能系统
    python基础知识整理
    输入一个整数n,输出该整数中重复的数字,如果没有重复出现的数字则输出no repeat number!
    输入今天以前一个日期,算离今天的天数
    有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
    筛选法求素数
    冒泡、选择、插入、二分插入、希尔排序、快排、二分查找、去掉重复值
    n进制转m进制
  • 原文地址:https://www.cnblogs.com/yizhiamumu/p/9004321.html
Copyright © 2011-2022 走看看