Fork me on GitHub

【SpringMVC】RESTful支持

一、概述

1.1 什么是RESTful

  • RESTful软件开发理念,RESTful对http进行非常好的诠释。
  • RESTful即Representational State Transfer的缩写。

  • 综合上面的解释,我们总结一下什么是RESTful架构:

    • 1)每一个URI代表一种资源;
    • (2)客户端和服务器之间,传递这种资源的某种表现层;
    • (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

1.2 URL的RESTful实现

  • 非RESTful的http的url:http://localhost:8080/items/editItems.action?id=1&....
  • RESTful的url是简洁的:http:// localhost:8080/items/editItems/1
    参数通过url传递,rest接口返回json数据

二、演示

2.1 需求

  • 根据id查看商品信息,商品信息查看的连接使用RESTful方式实现,商品信息以json返回。

2.2 第一步更改DispatcherServlet配置

<servlet>
        <servlet-name>springmvc_rest</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/springmvc.xml</param-value>
        </init-param>
    </servlet>
    <!-- rest 方式配置-->
    <servlet-mapping>
        <servlet-name>springmvc_rest</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

2.3 第二步参数通过url传递

//根据商品id查看商品信息rest接口
    //@RequestMapping中指定restful方式的url中的参数,参数需要用{}包起来
    //@PathVariable将url中的{}包起参数和形参进行绑定
    @RequestMapping("/viewItems/{id}")
    public @ResponseBody ItemsCustom viewItems(@PathVariable("id") Integer id) throws Exception{
        //调用 service查询商品信息
        ItemsCustom itemsCustom = itemsService.findItemsById(id);
        
        return itemsCustom;
        
    }

2.4 设置静态资源解析

  • 当DispatcherServlet拦截/开头的所有请求,对静态资源的访问就报错
  • 需要通过设置对静态资源进行解析.
<!-- 静态资源 解析 -->
<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/img/" mapping="/img/**" />
posted @ 2019-11-28 12:23  这个世界~  阅读(143)  评论(0编辑  收藏  举报