REST资源定位(不断更新)
来源:互联网 发布:禁毒网络知识竞赛网 编辑:程序博客网 时间:2024/05/01 15:12
前言:
REST使用URL实现资源定位。资源地址的设计是非常谨慎的。如果设计不好,不仅REST接口的风格无法统一,使得系统的扩展性和易用性降低,也很难实现资源的准确定位。一个URL和Http方法,可以唯一确定一个资源,但是一个资源可以拥有多个URL,例如软件的最新版本为2.0.那么最新版本的URL和2.0版本的URL就指向同一个资源。
一:资源地址设计
(1)资源路径示例
http://192.168.1.183:8080/ecm/rest/users?page=1&per_page=10&name=亮
总体模式为:scheme://host:port/path?queryString
其中http表示协议名称,通常是HTTP或者HTTPS;
host表示主机名称或者IP地址
port表示端口
path资源地址
queryString查询字符串,方法作用域信息。使用&分割查询条件,使用逗号分割有次序作用域信息,使用分号分割无次序作用域信息。
示例中ecm表示ContextPath应用名称
rest表示ServletPath
users?page=1&per_page=10&name=亮是PathInfo信息。
(2)作用域demo
Url:http://192.168.1.183:8080/ecm/rest/test/01,2014-12,2015
查询2014-01到2015-12的测试数据
Api定义:
测试结果:
(3):PathSegment路径片段获取子资源
获取java和php语言关于web编程的数据。
http://192.168.1.183:8080/ecm/rest/test/编程;language=java,php;type=web
@GET
@Path("{condition}")
@Produces("application/json;charset=utf-8")
public Response test4(@PathParam("condition") final PathSegment condition)
throws Throwable {
MultivaluedMap<String, String> matrixParameters = condition
.getMatrixParameters();
Iterator<Entry<String, List<String>>> iterator = matrixParameters
.entrySet().iterator();
StringBuffer queryString = new StringBuffer();
while (iterator.hasNext()) {
Entry<String, List<String>> entry = iterator.next();
if(queryString.length() > 0){
queryString.append(",");
}
queryString.append(entry.getKey()).append("=");
queryString.append(entry.getValue()).append(" ");
}
return Response.status(200).entity(queryString).build();
}
- REST资源定位(不断更新)
- REST资源定位 学习笔记
- 对REST资源定位的两点看法
- REST--资源
- UI资源,不断更新中
- 资源学习网站,不断更新
- 资源定位
- 定位资源
- REST资源的注意
- REST 相关资源
- REST资源三要素
- NET资源站点 不断更新中...
- linux相关的资源[不断更新]
- 水晶报表资源下载,不断更新
- 学习资源链接(不断更新)
- 一些资源收集(不断更新)
- Android开发资源汇总,不断更新
- Spark学习资源(不断更新)
- Lucence的Field属性整理
- 邮件营销:更换新平台必须做好的5个准备
- java.lang.UnsupportedOperationException
- ListView的属性及方法详解
- Jetson TK1 上编译gstreamer框架
- REST资源定位(不断更新)
- 关于/etc/hosts文件
- android与java的关系
- Java调用MATLAB的.m文件
- Windows中获取MAC地址的几种方法
- 如何优雅的查看VS2010的工程是DLL还是LIB还是EXE的
- 众筹金融下的后期平台汇总
- shell 编程-函数
- ECharts配置