SuperMap iServer REST资源(JAX-RS)扩展机制简介
来源:互联网 发布:网站内容seo吗 编辑:程序博客网 时间:2024/05/21 10:08
作者:MR.
SuperMap iServer 不仅提供了 REST 服务,将大量 GIS 功能以资源的形式发布出来,而且提供了一套扩展机制,使用户能够方便地将自己的应用添加至 SuperMap iServer 服务器上,实现自定义的资源,从而成为 REST 服务的一部分。
SuperMap iServer 目前有两种方式提供 REST 服务,即基于 Restlet 机制和基于 JAX-RS 机制,进行扩展时,要根据功能模块的实现方式采用不同的扩展方法。
基于 Restlet 机制的iServer REST资源扩展请参考博客:SuperMap iServer REST资源(Restlet)扩展机制简介 ,本文介绍基于 JAX-RS 机制的iServer REST资源扩展。基于 JAX-RS 机制实现的 iServer REST 资源模块有:空间分析模块,提供的扩展形式如下:
• 新资源的扩展:扩展新的REST服务资源。• 表述生成器扩展:扩展新的表述格式。• 参数解析器扩展:扩展新的参数解析器。
基于JAX-RS 机制的REST资源扩展方式
SuperMap iServer提供了两个抽象类供扩展新REST资源使用:
com.supermap.services.rest.resources.JaxrsResourceBase
和
com.supermap.services.rest.resources.JaxAlgorithResultSetResource
前者(JaxrsResourceBase
)是后者(JaxAlgorithResultSetResource
)的父类,后者在前者的基础上实现了POST请求的处理,使支持POST请求及子资源(请求参数returnContent=false时创建子资源存储结果)。
扩展时实现上述两个类之一即可,两个类的类参考详见iServer 6R帮助文档(百度盘:链接:http://pan.baidu.com/s/1c2KhPhY 密码:kfsx)。
以JaxAlgorithResultSetResource为例,扩展的基本方法如下:
/** * @Path 指定自定义资源的 URI,从资源根目录算起, * 在 iServer 中,基于 JAX-RS 框架实现的 REST 资源根目录为: * http://<server>:<port>/iserver/services/<servicecomponent>/<serviceinterface> * 其中 servicecomponent 是 iServer 三层体系结构中的服务组件, * serviceinterface 是该服务组件绑定的服务接口(参见:服务的 URI 设置),比如:restjsr * restjsr 是默认的 JAX-RS REST 服务接口。 */@Path("/spatialanalyst/geometry/myResource")public class MyBufferResultsResource extends JaxAlgorithResultSetResource<T> { // 用于标志存储在对象仓库中对象类型。 private static final String ALGORITHNAME = "本算法名"; /** * 本算法名称,用于存取算法结果。 */ @ Override protected String getAlgorithmName() { return ALGORITHNAME; } /** * 实现父类的 runArithmetic ,给出客户端发送 HTTP POST 方法时,需要处理的业务逻辑 * 父类的Post 方法将会调用该方法。 */ @ Override protected Object runArithmetic(T params) { // TODO }}
其中泛型T代表POST请求体参数表示的对象,runArithmetic
方法返回值即返回给客户端的结果。
扩展完成配置到iServer即可,资源配置请参考 SuperMap iServer REST资源(Restlet)扩展机制简介。
在iServer帮助文档:开始 > iServer 开发与扩展指南 > 扩展 iServer > 现有 REST 资源扩展 > 基于 JAX-RS 机制 可以找到一个扩展的示例。
- SuperMap iServer REST资源(JAX-RS)扩展机制简介
- SuperMap iServer 安全机制
- SuperMap iServer REST API介绍
- 关注REST,JAX-RS
- JAX-RS REST客户端实现基本身份验证机制
- JAX-RS 简化 REST 学习
- JAX-RS 2.0 REST 客户端
- REST:JAX-RS 与 Spring
- JAX-RS Annotation 简介
- JAX-RS简介
- jax-rs简介
- JAX-RS简介
- 扩展iServer数据服务REST资源实现点靠近线、打断线(二)
- 扩展iServer数据服务REST资源实现点靠近线、打断线(三)
- 使用 JAX-RS 简化 REST 应用开发
- 用Java REST (JAX-RS) 做聊天室
- 使用 JAX-RS 简化 REST 应用开发
- 使用 JAX-RS 简化 REST 应用开发
- ALV常用参数的详细描述
- C++ 传参用法
- 在 Linux 中使用 Azure Premium 存储的基本优化指南
- 汇编与接口:数据传送指令
- 如何让Android studio工程运行在Genymotion
- SuperMap iServer REST资源(JAX-RS)扩展机制简介
- 合并两个已排序数组(Python代码)
- 流形学习 Manifold Learning
- 带你解锁蓝牙skill(0)
- 一点想说的
- openwrt小结
- 过滤器Filter
- Android – 自定义View小Demo,绘制四位数随机码
- 类 BMapLib.DrawingManager___百度地图API 类详解(转载)