zoukankan      html  css  js  c++  java
  • Geoserver开发之REST是什么?

     本部分提供了概述,关于RESTful服务在GeoServer中是如何工作的。

     https://docs.geoserver.org/stable/en/developer/programming-guide/rest-services/index.html

    第一章:Overview概述

    GeoServer uses a library known as Restlet for all REST related functionality. Restlet is a lightweight rest framework written in Java that integrates nicely with existing servlet based applications.

    GeoServer使用一个类库叫做Restlet来处理所有的REST相关的功能。Restlet是一个轻量级的REST框架,以Java语言写的,与现有的Servlet程序能够完美的融合。

    REST dispatching

    In GeoServer, all requests under the path /rest are considered a call to a restful service. Every call of this nature is handled by a rest dispatcher. The job of the dispatcher is to route the request to the appropriate end point. This end point is known as a restlet.

    ../../_images/rest-dispatch.png

    Restlets are loaded from the spring context, and therefore are pluggable.

    Restlets

    restlet is the generic entity which handles calls routed by the dispatcher, and corresponds to the class org.restlet.Restlet. One can extend this class directly to implement a service endpoint. Alternatively one can extend a subclass for a specialized purpose. Namely a finder, which is described in the next section.

    Finders and resources

    Restful services are often implemented around the concept of resources. A finder is a special kind of restlet whose job is to find the correct resource for a particular request. The resource then serves as the final end point and handles the request. The appropriate classes from the restlet library are org.restlet.Finder and org.restlet.resource.Resource.

    Representations

    representation, commonly referred to as a format, is the state of a particular state or encoding of a resource. For instance, when a request for a particular resource comes in, a representation of that resource is returned to the client.

                                                                                        PreviousREST Services NextImplementing a RESTful Service

    最新的GeoServer是使用SpringMVC来实现的REST服务,抛弃了Restlet。。:https://blog.csdn.net/nmj2008/article/details/116997868 从GeoServer2.12版(2017)开始采用的SpringMVC,但是开发文档没有更新

    新旧REST对比:

    左边为原来实现REST的方式,很简单就实现了一个REST服务。但是,新的例子不能用

    应该换成哪些类呢?

    调试:发现从DispatcherServlet->RestInterceptor->RequestInfo

  • 相关阅读:
    Tcp/ip 报文解析
    使用redis构建可靠分布式锁
    提高服务器程序性能的一些方法
    socket读写返回值的处理
    也写年终总结
    记录服务上线一年来的点点滴滴
    C++实现线程安全的单例模式
    一步一步实现读写锁
    从I/O复用谈epoll为什么高效
    同域SQL server 做镜像服务器遇到1418错误
  • 原文地址:https://www.cnblogs.com/2008nmj/p/14781479.html
Copyright © 2011-2022 走看看