zoukankan      html  css  js  c++  java
  • 【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/**" />
    
  • 相关阅读:
    nginx 与 lua 开发笔记
    使用openresty + lua 搭建api 网关(一)安装openresty ,并添加lua模块
    Java使用POI接口读写Excel文件方法
    React常用的库安装
    Android手机捉包
    ffmpeg压缩视频
    用 TypeScript 写 React & Redux
    yarn使用
    Angular 组件引入其他css不生效
    Webstrom技巧
  • 原文地址:https://www.cnblogs.com/haoworld/p/springmvcrestful-zhi-chi.html
Copyright © 2011-2022 走看看