"Fossies" - the Fresh Open Source Software Archive

Member "developer/programming-guide/rest-services/overview.html" (22 Nov 2019, 8742 Bytes) of package /linux/www/geoserver-2.16.1-htmldoc.zip:


The requested HTML page contains a <FORM> tag that is unusable on "Fossies" in "automatic" (rendered) mode so that page is shown as HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
    4 <head>
    5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6   
    7   <title>Overview &mdash; GeoServer 2.16.1 Developer Manual</title>
    8   <link rel="stylesheet" href="../../_static/blueprint/screen.css" type="text/css" media="screen, projection" />
    9   <link rel="stylesheet" href="../../_static/blueprint/print.css" type="text/css" media="print" /> 
   10   <!--[if IE]>
   11   <link rel="stylesheet" href="../../_static/blueprint/ie.css" type="text/css" media="screen, projection" />
   12   <![endif]-->
   13   <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
   14   <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
   15   <script type="text/javascript">
   16     var DOCUMENTATION_OPTIONS = {
   17         URL_ROOT:    '../../',
   18         VERSION:     '2.16.1',
   19         COLLAPSE_MODINDEX: false,
   20         FILE_SUFFIX: '.html'
   21     };
   22   </script>
   23   <script type="text/javascript" src="../../_static/jquery.js"></script>
   24   <script type="text/javascript" src="../../_static/doctools.js"></script>
   25   <script type="text/javascript" src="../../_static/searchtools.js"></script>
   26   <script type="text/javascript" src="../../searchindex.js"></script>
   27   <link rel="shortcut icon" href="../../_static/geoserver.ico"/>
   28       <link rel="search" title="Search" href="../../search.html" />
   29       <link rel="top" title="GeoServer 2.16.1 Developer Manual" href="../../index.html" />
   30       <link rel="up" title="REST Services" href="index.html" />
   31       <link rel="next" title="Implementing a RESTful Service" href="implementing.html" />
   32       <link rel="prev" title="REST Services" href="index.html" />
   33 </head>
   34 <body class="programming-guide/rest-services/overview">
   35   <div id="header" class="selfclear">
   36     <div class="wrap selfclear">
   37       <div id="logo"><a href="../../index.html">GeoServer 2.16.1 Developer Manual</a></div>
   38       <ul id="top-nav">
   39         <li class="first"><a href="http://geoserver.org/about">About</a></li>
   40         <li><a href="http://blog.geoserver.org/">Blog</a></li>
   41         <li><a href="http://geoserver.org/download">Download</a></li>
   42         <!--<li><a href="../../index.html">Documentation</a></li>-->
   43       </ul>
   44         <form id="quick-search" action="../../search.html" method="get">
   45           <fieldset>
   46             <input type="hidden" name="check_keywords" value="yes" />
   47             <input type="hidden" name="area" value="default" />
   48             <input id="quick-search-query" type="text" name="q" accessKey="q" name="searchQuery.queryString" size="25" value="Search Documentation&hellip;" size="20" tabindex="3" onblur="if(this.value=='') this.value='Search Documentation&hellip;';" onfocus="if(this.value=='Search Documentation&hellip;') this.value='';" />
   49             <input id="quick-search-submit" type="image" value="Search" src="../../_static/chrome/search_icon_green.png" />
   50           </fieldset>
   51         </form>
   52     </div><!-- /.wrap -->
   53   </div><!-- /#header -->
   54   <div id="main">
   55     <div class="wrap selfclear">
   56       <div id="content-left" class="content-border"></div>
   57       <div id="content">
   58 <ul id="breadcrumbs">
   59   
   60   <li><a href="../../index.html">GeoServer 2.16.1 Developer Manual</a> &raquo;</li>
   61   <li><a href="../index.html" accesskey="U">Programming Guide</a> &raquo;</li>
   62   <li><a href="index.html" accesskey="U">REST Services</a> &raquo;</li>
   63   <li>Overview</li>
   64 </ul>
   65 <ul id="relatedlinks" class="selfclear">
   66   <li class="first">
   67     <a href="implementing.html" title="Implementing a RESTful Service"
   68        accesskey="N">next</a></li>
   69   <li>
   70     <a href="index.html" title="REST Services"
   71        accesskey="P">previous</a>|</li>
   72 </ul>
   73         
   74   <div class="section" id="overview">
   75 <span id="rest-services-overview"></span><h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h1>
   76 <p>GeoServer uses a library known as <a class="reference external" href="http://www.restlet.org/">Restlet</a> for all
   77 REST related functionality. Restlet is a lightweight rest framework written
   78 in Java that integrates nicely with existing servlet based applications.</p>
   79 <div class="section" id="rest-dispatching">
   80 <h2>REST dispatching<a class="headerlink" href="#rest-dispatching" title="Permalink to this headline"></a></h2>
   81 <p>In GeoServer, all requests under the path <code class="docutils literal notranslate"><span class="pre">/rest</span></code> are considered a call to
   82 a restful service. Every call of this nature is handled by a <em>rest
   83 dispatcher</em>. The job of the dispatcher is to route the request to the
   84 appropriate end point. This end point is known as a <em>restlet</em>.</p>
   85 <img alt="../../_images/rest-dispatch.png" src="../../_images/rest-dispatch.png" />
   86 <p>Restlets are loaded from the spring context, and therefore are pluggable.</p>
   87 </div>
   88 <div class="section" id="restlets">
   89 <h2>Restlets<a class="headerlink" href="#restlets" title="Permalink to this headline"></a></h2>
   90 <p>A <em>restlet</em> is the generic entity which handles calls routed by the
   91 dispatcher, and corresponds to the class <code class="docutils literal notranslate"><span class="pre">org.restlet.Restlet</span></code>. One
   92 can extend this class directly to implement a service endpoint. Alternatively
   93 one can extend a subclass for a specialized purpose. Namely a <em>finder</em>, which
   94 is described in the next section.</p>
   95 </div>
   96 <div class="section" id="finders-and-resources">
   97 <h2>Finders and resources<a class="headerlink" href="#finders-and-resources" title="Permalink to this headline"></a></h2>
   98 <p>Restful services are often implemented around the concept of <em>resources</em>. A
   99 <em>finder</em> is a special kind of restlet whose job is to find the correct
  100 resource for a particular request. The resource then serves as the final
  101 end point and handles the request. The appropriate classes from the restlet
  102 library are <code class="docutils literal notranslate"><span class="pre">org.restlet.Finder</span></code> and <code class="docutils literal notranslate"><span class="pre">org.restlet.resource.Resource</span></code>.</p>
  103 </div>
  104 <div class="section" id="representations">
  105 <h2>Representations<a class="headerlink" href="#representations" title="Permalink to this headline"></a></h2>
  106 <p>A <em>representation</em>, commonly referred to as a format, is the state of a
  107 particular state or encoding of a resource. For instance, when a request for
  108 a particular resource comes in, a representation of that resource is returned
  109 to the client.</p>
  110 </div>
  111 </div>
  112 
  113 
  114       <div class="selfclear pagination-nav">
  115           <div class="leftwise"><strong>Previous</strong>: <a href="index.html" title="previous chapter">REST Services</a></div>
  116           <div class="rightwise"><strong>Next</strong>: <a href="implementing.html" title="next chapter">Implementing a RESTful Service</a></div>
  117       </div>
  118       </div><!-- /#content> -->
  119       <div id="content-right" class="content-border"></div>
  120   <div id="sidebar" class="contrast">
  121       <div id="toc" class="section">
  122         <h3 class="pngfix">Table Of Contents</h3>
  123         <ul>
  124 <li><a class="reference internal" href="#">Overview</a><ul>
  125 <li><a class="reference internal" href="#rest-dispatching">REST dispatching</a></li>
  126 <li><a class="reference internal" href="#restlets">Restlets</a></li>
  127 <li><a class="reference internal" href="#finders-and-resources">Finders and resources</a></li>
  128 <li><a class="reference internal" href="#representations">Representations</a></li>
  129 </ul>
  130 </li>
  131 </ul>
  132 
  133         <div class="section-footer"></div>
  134       </div>
  135         <div class="section">
  136           <h3>Continue Reading</h3>
  137           <ul>
  138             <li>Previous: <a href="index.html" title="previous chapter">REST Services</a></li>
  139             <li>Next: <a href="implementing.html" title="next chapter">Implementing a RESTful Service</a></li>
  140           </ul>
  141         </div>
  142         <div class="section">
  143         <h3>This Page</h3>
  144         <ul class="this-page-menu">
  145                 
  146         <li><a href="https://github.com/geoserver/geoserver/tree/master/doc/en/developer/source/programming-guide/rest-services/overview.rst">Edit</a></li>
  147         </ul>
  148         </div>
  149   </div><!-- /#sidebar -->
  150   </div><!-- /.wrap> -->
  151 </div><!-- /#main -->
  152 <div id="footer">
  153   <div class="wrap">
  154     &copy; Copyright 2019, Open Source Geospatial Foundation. License <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution</a>.
  155     Last updated on Nov 22, 2019.
  156     Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
  157   </div><!-- /.wrap> -->
  158 </div><!-- /#footer -->
  159   </body>
  160 </html>