• springmvc的RESTful风格


    springmvc对RESTful得支持
    RESTful架构,就是目前最流行得一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以挣得到越来越多网站的采用。

    RESTful(即Representational State Transfer变现层状态转换)其实是一个开发理念,是对http 的很好的诠释。


    状态转换(State Transfer)
    客户端用到的手段,只能是HTTP协议。具体来说就是HTTP协议里面四个表示操作方式的动词:GET/POST/PUT/DELETE,分别对应四中基本操作:GET用来获取资源,POST用来新建资源(也可以用来更新资源),put(用来更新资源),DELETE用来删除资源。

    1、对url进行规范,写成RESTful格式的url

    非RESTful的uri: http://.../queryitems?id=001&type=T01
    RESTful的url风格:http://.../items/001
    特点:url简洁,将参数通过url传到服务端

    2、对http的方法进行规范
    不管是删除、添加、更新。。。使用url是一致的,如果需要进行删除,需要设置http的方法为delete,同理添加。。。

    后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加

    3、对http的contentType进行规范
    请求时指定contentType,要json数据,设置成json格式的type

    REST的例子,实现1,3

    1、需求:
    查询商品信息,返回json数据
    2、controller
    定义方法,进行url映射使用REST风格的url,将查询商品信息的id传入controller.

    输出json使用@ResponseBody将java对象输出json

    //查询商品信息,输出json
    @RequestMapping("/itemsView/{id}/{type}")
    public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id,@PathVariable("type") String type)throws Exception{
      //调用service查询商品信息
      ItemsCustom itemsCustom = itemsService.query(id,type);  

      return itemsCustom;
    }

    @RequestMapping(value="/viewItems/{id}"):{xxx}占位符,请求的URL可以是"/viewItems/1"或"/viewItems/2",通过在方法中使用@PathVariable获取{xxx}中的xxx变量

    @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

  • 相关阅读:
    (IOCP)-C#高性能Socket服务器的实现
    GraphQL和RESTful的区别
    HTTP Client Performance Improvements
    foobar2000 iOS使用,并连接PC的歌曲进行播放
    Spring中基于AOP的@AspectJ
    Spring中基于AOP的XML架构
    Spring框架的AOP
    Spring的AOP AspectJ切入点语法详解(转)
    Spring中实现自定义事件
    Spring的事件处理
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6296823.html
Copyright © 2020-2023  润新知