Overview
Extension | MIME type | Description |
---|---|---|
.html | text/html | A handy format for browsing resources and navigating URIs during development. |
.txt | text/plain | A direct representation of RESTfm's internal data structure. Handy for testing and debugging. |
.json | application/json | A complete JSON representation of RESTfm's internal data structure. Input and Output supported. |
.xml | application/xml | A complete XML representation of RESTfm's internal data structure. Input and Output supported. |
.simple | An easy to parse format for systems without XML and JSON support. Output only. | |
.fmpxml | FileMaker FMPXMLRESULT grammar compliant. Input and Output supported. |
Specifying formats
The format may be specified in one of two ways:- By appending the format as a file extension in the URI.
- By specifying the MIME type in the HTTP Accept: header.
Note: Not every format has an appropriate MIME type (e.g. fmpxml and simple), so only the file extension method is usable.
Both of these cURL CLI invocations specify the format as xml:
curl -i -X GET -u username:password -k "https://localhost/RESTfm/.xml" curl -i -H "Accept: application/xml" -X GET -u username:password -k "https://localhost/RESTfm/"
Common structure
Native RESTfm formats contain multiple 'sections'. (Non-native formats may not be able to translate all information available in the native formats. e.g. fmpxml).
Section | Availability | Description |
---|---|---|
nav | Sometimes | Contains automatically generated URIs (start, end, next, prev) for easy navigation of paginated results. |
data | Always | The main data arranged in records of field-name / value pairs. |
meta | Always | Record meta data. Typically the FileMaker internal recordID. |
metaField | Sometimes | Field meta data. FileMaker specific field information such as autoEntered, global, maxRepeat, resultType. |
info | Always | Contains RESTfm and FileMaker status codes, and other information. |
multistatus | Bulk Operations | Any bulk operation error will cause the multistatus section to appear. |
Input vs. Output structure
RESTfm uses an identical structure for input and output, this allows unmodified output to be fed directly back into RESTfm.