com.supermap.services.rest
类 AbstractMethodHandler
- java.lang.Object
-
- com.supermap.services.rest.AbstractMethodHandler
-
- 直接已知子类:
- DefaultMethodHandler, WMTSMethodHandler
public abstract class AbstractMethodHandler extends java.lang.Object
HTTP 请求处理抽象类。
默认的和扩展的 HTTP 请求处理类都要继承本类。例如,自定义 HTTP 请求处理器的过程如下:
- 继承 AbstractMethodHandler,实现处理 HTTP 请求的方法(handleGet 方法等)。
- 在 AppContext.xml 中将实现类注册成组件。即添加一个 <bean/> 节点。
- 在 Resources.xml 中配置到欲扩展 HTTP 请求处理器的资源。在<resource/>节点的<extensionHttpActionHandlerBeanName/>子节点中配置。
一个简单的扩展 HTTP 请求处理类的实现如下,该处理器仅处理 GET 请求,并只生成 XML 格式的表述:
public class MyMethodHandler extends AbstractMethodHandler { public void handleGet(ResourceBase targetResource, Request request, Response response) { // TODO Auto-generated method stub Encoder encoder = null; if (targetResource.isResourceExist()) { //强制使用 XML 表述生成器。 encoder = new XMLEncoder(); Object content = targetResource.getResourceContent(); if (content != null) { // 不管请求如何,都返回XML格式的资源的表示。 Representation entity = encoder.toRepresentation(MediaType.TEXT_XML, content); response.setEntity(entity); response.setStatus(Status.SUCCESS_OK); } else { // 资源没有表示。 response.setStatus(Status.SUCCESS_NO_CONTENT); } } else { // 处理资源不存在异常。 response.setStatus(Status.CLIENT_ERROR_NOT_FOUND); } } public void handleHead(ResourceBase arg0, Request arg1, Response arg2) { // TODO Auto-generated method stub } public void handleOptions(ResourceBase arg0, Request arg1, Response arg2) { // TODO Auto-generated method stub } public void handlePost(ResourceBase arg0, Request arg1, Response arg2) { // TODO Auto-generated method stub } public void handlePut(ResourceBase arg0, Request arg1, Response arg2) { // TODO Auto-generated method stub } public void handleDelete(ResourceBase arg0, Request arg1, Response arg2) { } }
-
-
构造器概要
构造器 构造器和说明 AbstractMethodHandler()
-
方法概要
方法 限定符和类型 方法和说明 abstract void
handleDelete(ResourceBase targetResource, Request request, Response response)
DELETE 请求处理抽象方法。abstract void
handleGet(ResourceBase targetResource, Request request, Response response)
GET 请求处理抽象方法。abstract void
handleHead(ResourceBase targetResource, Request request, Response response)
HEAD 请求处理抽象方法。abstract void
handleOptions(ResourceBase targetResource, Request request, Response response)
OPTIONS 请求处理抽象方法。abstract void
handlePost(ResourceBase targetResource, Request request, Response response)
POST 请求处理抽象方法。abstract void
handlePut(ResourceBase targetResource, Request request, Response response)
PUT 请求处理抽象方法。
-
-
-
方法详细资料
-
handleGet
public abstract void handleGet(ResourceBase targetResource, Request request, Response response)
GET 请求处理抽象方法。
提供对 GET 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 GET 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
handlePut
public abstract void handlePut(ResourceBase targetResource, Request request, Response response)
PUT 请求处理抽象方法。
提供对 PUT 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 PUT 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
handlePost
public abstract void handlePost(ResourceBase targetResource, Request request, Response response)
POST 请求处理抽象方法。
提供对 POST 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 POST 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
handleDelete
public abstract void handleDelete(ResourceBase targetResource, Request request, Response response)
DELETE 请求处理抽象方法。
提供对 DELETE 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 DELETE 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
handleHead
public abstract void handleHead(ResourceBase targetResource, Request request, Response response)
HEAD 请求处理抽象方法。
提供对 HEAD 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 HEAD 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
handleOptions
public abstract void handleOptions(ResourceBase targetResource, Request request, Response response)
OPTIONS 请求处理抽象方法。
提供对 OPTIONS 请求的处理功能。
- 参数:
targetResource
- 目标资源,即 OPTIONS 请求的目标。request
- 请求对象内容。response
- 响应对象内容。
-
-