Resources

/resource</path/to/resource>

Method

Action

Status code

Parameters

GET

Download a resource, list contents of directory, or show formatted resource metadata.

200

operation (default | metadata); format (html | xml | json)

HEAD

Show resource metadata in HTTP headers.

200

PUT

Upload/move/copy a resource, create directories on the fly (overwrite if exists). For move/copy operations, place source path in body. Copying is not supported for directories.

200 (exists) 201 (new)

operation (default | copy | move)

DELETE

Delete a resource (recursively if directory)

200

Exceptions

Exception

Status code

GET or DELETE for a resource that does not exist

404

PUT to directory

405

PUT method=copy with source directory

405

PUT with source path that doesn’t exist

404

POST

405

Headers

Header

Description

Last-Modified

When resource was last modified.

Content-Type

Will guess mime-type from extension or content.

Resource-Type (custom)

directory | resource

Resource-Parent (custom)

Path to parent

Format

Examples are given in XML. The JSON and HTML formats are analogue.

Metadata

<ResourceMetaData>
   <name> nameOfFile </name>
   <parent> <path> path/to/parent </path>
        <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
   href="http://localhost:8080/geoserver/rest/resource/path/to/parent?operation=metadata&format=xml"
         type="application/xml"/>
   </parent>
   <lastModified> date </lastModified>
   <type> undefined | resource | directory </type>
</ResourceMetaData>

Directories

<ResourceDirectory>`
   <name> nameOfDirectory </name>
   <parent> <path> path/to/parent </path>
        <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
   href="http://localhost:8080/geoserver/rest/resource/path/to/parent?operation=metadata&format=xml"
         type="application/xml"/>
   </parent>
   <lastModified> date </lastModified>
   <children>
       <child>
               <name> ... </name>
               <atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate"
                href="http://localhost:8080/geoserver/rest/resource/path/to/child"/>
       </child>
       <child>
               ...
       </child>
       ...
   </children>`
</ResourceDirectory>