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 请求处理器的过程如下:

    1. 继承 AbstractMethodHandler,实现处理 HTTP 请求的方法(handleGet 方法等)。
    2. 在 AppContext.xml 中将实现类注册成组件。即添加一个 <bean/> 节点。
    3. 在 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) {
     }
     }
     
    
    • 方法概要

      方法 
      限定符和类型 方法和说明
      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 请求处理抽象方法。
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • AbstractMethodHandler

        public AbstractMethodHandler()
        
    • 方法详细资料

      • 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 - 响应对象内容。