文档章节

springmvc - RESTful

lemos
 lemos
发布于 2016/11/21 14:01
字数 450
阅读 21
收藏 3

一、概念

Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如: http://api.qc.com/v1/newsfeed: 获取某人的新鲜; http://api.qc.com/v1/friends: 获取某人的好友列表; http://api.qc.com/v1/profile: 获取某人的详细信息;

用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转: GET 用来获取资源, POST 用来新建资源(也可以用于更新资源), PUT 用来更新资源, DELETE 用来删除资源。

  1. 即对url进行规范,
    非RESTful格式:http://.../queryItems.action?id=001&type=T001
    RESTful 格式:http://.../items/001
    特点:将参数通过url传递到服务端。

  2. 对http方法进行规范
    使用get获取资源、post新建资源、put来更新资源、delete来删除资源

  3. 对http的contentType规范
    请求时指定 contentType ,需要json数据,设置成json的type。。

二、方法定义

需求:查询商品信息,返回json数据。
方法:使用RESTful风格的url,将查询商品信息的id传入controller。输出json使用@ResponseBody 将java对象输出json。

三、使用url模板映射来传递参数

使用**@RequestMapping("/itemsView/{id}")@PathVariable("id") Integer id **来传递参数信息。

@RequestMapping("/itemsView/{id}")
public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception {
    ItemsCustom itemsCustom = itemsService.findItemsById(id);
    return itemsCustom;
}

四、对静态资源进行解析

使用RESTful风格的url方式需要对静态资源进行解析:
配置前端控制器的 url-partten 中指定 "/" ,对静态资源的解析则出现问题。
在springmvc.xml中添加静态资源的解析方法。

<!-- 静态资源解析:包括js、css。img... -->
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/img/**" location="/img/"/>

© 著作权归作者所有

共有 人打赏支持
lemos
粉丝 8
博文 184
码字总数 92482
作品 0
芜湖
后端工程师
私信 提问
ZHENFENGSHISAN/perfect-ssm

Quick Start 项目简介 ssm系列 ssm-demo:Spring+SpringMVC+Mybatis+easyUI整合 perfect-ssm:RESTful API+redis缓存 ssm-cluster:前后端分离+集群部署 ssm-dubbo:dubbo服务化 ssm-micro-se......

ZHENFENGSHISAN
2017/09/18
0
0
spring+restful service

Spring整合CXF,发布RSETful 风格WebService 这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的。关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述...

游宵
2014/04/25
0
1
Spring REST Docs 1.2.6.RELEASE 与 2.0.3.RELEASE 发布

Spring REST Docs 1.2.6.RELEASE 与 2.0.3.RELEASE 发布了,Spring REST Docs 是 RESTful 服务的测试驱动文档,使用 Asciidoctor 手工编写内容结合使用 Spring MVC Test 框架自动生成示例,轻...

h4cd
2018/12/12
0
0
SpringMVC开发 知识点速查

SpringMVC入门 什么是SpringMVC 实现MVC设计模式的框架 SpringMVC核心组件 DispatcherServlet 前置控制器,调度 Handler 处理器,完成具体业务逻辑 HandlerMapping 将请求映射到Handler,映射...

linxinzhe
2018/05/19
0
0
SpringCloudSpringBoot使用Swagger2构建强大的RESTful API文档

由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业...

itcloud
2018/08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

https

进入阿里云域名后台,修改DNS为阿里云官方DNS(默认为官方),然后点击“免费开启SSL证书” 点击“申请”、“验证”并等待签发 然后根据自己的服务器类型下载对应的证书 我使用的是lnmpa工具...

临江仙卜算子
23分钟前
0
0
Quartz监听器Listerner

概述 Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知。Quartz监听器主要有JobListener、TriggerListener、SchedulerListener三种,顾名思义,分别表示任务、...

大笨象会跳舞吧
51分钟前
4
0
Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=pc-node1 row

写hbase的问题,2019-01-18 23:23:28,082 | INFO | [hconnection-0x6431d54d-shared--pool2-t5] | Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=p......

stys35
54分钟前
2
0
docker 安装portainer、gogs、redis、mongodb、es、rabbitmq、mysql、jenkins、harbor

1、准备三台虚拟机ip如下 编号 Ip 1 192.168.100.101 2 192.168.100.102 3 192.168.100.103 2、镜像应用编排 192.168.100.101 主要安装系统运维相关服务 192.168.100.102 主要安装mysql、mon...

北岩
今天
8
0
storm 提交任务报SocketException错误及解决办法

提交任务爆错: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed) ..... Caused by: org.apache.storm.thrift.transport.TTr......

jingshishengxu
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部