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

  • 相关阅读:
    函数对象、名称空间与作用域
    函数
    leetcode语法练习(二)
    leetcode语法练习(一)
    字符编码与文件操作
    集合类型内置方法与总结
    列表,元组与字典类型
    数据类型内置方法之数据类型与字符串类型
    [SVG实战]饼图全面解析
    [JavaScript语法学习]重新认识JavaScript
  • 原文地址:https://www.cnblogs.com/2008nmj/p/14781479.html
Copyright © 2011-2022 走看看