docs: Move example requests to guides.

This commit is contained in:
Ruben Verborgh 2021-06-29 16:32:25 +01:00
parent d41f46ac01
commit 080a8294ec
2 changed files with 95 additions and 104 deletions

104
README.md
View File

@ -74,110 +74,6 @@ $ npm ci
$ npm start [-- ARGS] $ npm start [-- ARGS]
``` ```
## Interacting with the server
CSS is still under active development, and as such the easiest and fastest way
to understand what functionality is supported is to read the integration tests.
This section is only intended as a high level summary of what's supported.
The server supports low-level interaction via HTTP methods, such as `GET`,
`PUT`, `HEAD`, ...
Below, we provide several examples on how to interact with the server using
`curl`.
### `POST`: Creating a new pod
Create a pod using an external WebID for authentication:
```shell
curl -X POST -H "Content-Type: application/json" \
-d '{"login": "timbl", "webId": "http://timbl.inrupt.net/profile/card#me"}' \
http://localhost:3000/pods
```
### `PUT`: Creating resources for a given URL
Create a plain text file:
```shell
curl -X PUT -H "Content-Type: text/plain" \
-d "abc" \
http://localhost:3000/myfile.txt
```
Create a turtle file:
```shell
curl -X PUT -H "Content-Type: text/turtle" \
-d "<ex:s> <ex:p> <ex:o>." \
http://localhost:3000/myfile.ttl
```
### `POST`: Creating resources at a generated URL
Create a plain text file:
```shell
curl -X POST -H "Content-Type: text/plain" \
-d "abc" \
http://localhost:3000/
```
Create a turtle file:
```shell
curl -X POST -H "Content-Type: text/turtle" \
-d "<ex:s> <ex:p> <ex:o>." \
http://localhost:3000/
```
The response's `Location` header will contain the URL of the created resource.
### `GET`: Retrieving resources
Retrieve a plain text file:
```shell
curl -H "Accept: text/plain" \
http://localhost:3000/myfile.txt
```
Retrieve a turtle file:
```shell
curl -H "Accept: text/turtle" \
http://localhost:3000/myfile.ttl
```
Retrieve a turtle file in a different serialization:
```shell
curl -H "Accept: application/ld+json" \
http://localhost:3000/myfile.ttl
```
### `DELETE`: Deleting resources
```shell
curl -X DELETE http://localhost:3000/myfile.txt
```
### `PATCH`: Modifying resources
Currently, only patches over RDF resources are supported using [SPARQL Update](https://www.w3.org/TR/sparql11-update/)
queries without `WHERE` clause.
```shell
curl -X PATCH -H "Content-Type: application/sparql-update" \
-d "INSERT DATA { <ex:s2> <ex:p2> <ex:o2> }" \
http://localhost:3000/myfile.ttl
```
### `HEAD`: Retrieve resources headers
```shell
curl -I -H "Accept: text/plain" \
http://localhost:3000/myfile.txt
```
### `OPTIONS`: Retrieve resources communication options
```shell
curl -X OPTIONS -i http://localhost:3000/myfile.txt
```
## Run using Docker ## Run using Docker
A Docker image is available to run the containerised Solid Community Server against your filesystem. A Docker image is available to run the containerised Solid Community Server against your filesystem.

View File

@ -0,0 +1,95 @@
## Interacting with the server
### `POST`: Creating a new pod
Create a pod using an external WebID for authentication:
```shell
curl -X POST -H "Content-Type: application/json" \
-d '{"login": "timbl", "webId": "http://timbl.inrupt.net/profile/card#me"}' \
http://localhost:3000/pods
```
### `PUT`: Creating resources for a given URL
Create a plain text file:
```shell
curl -X PUT -H "Content-Type: text/plain" \
-d "abc" \
http://localhost:3000/myfile.txt
```
Create a turtle file:
```shell
curl -X PUT -H "Content-Type: text/turtle" \
-d "<ex:s> <ex:p> <ex:o>." \
http://localhost:3000/myfile.ttl
```
### `POST`: Creating resources at a generated URL
Create a plain text file:
```shell
curl -X POST -H "Content-Type: text/plain" \
-d "abc" \
http://localhost:3000/
```
Create a turtle file:
```shell
curl -X POST -H "Content-Type: text/turtle" \
-d "<ex:s> <ex:p> <ex:o>." \
http://localhost:3000/
```
The response's `Location` header will contain the URL of the created resource.
### `GET`: Retrieving resources
Retrieve a plain text file:
```shell
curl -H "Accept: text/plain" \
http://localhost:3000/myfile.txt
```
Retrieve a turtle file:
```shell
curl -H "Accept: text/turtle" \
http://localhost:3000/myfile.ttl
```
Retrieve a turtle file in a different serialization:
```shell
curl -H "Accept: application/ld+json" \
http://localhost:3000/myfile.ttl
```
### `DELETE`: Deleting resources
```shell
curl -X DELETE http://localhost:3000/myfile.txt
```
### `PATCH`: Modifying resources
Currently, only patches over RDF resources are supported using [SPARQL Update](https://www.w3.org/TR/sparql11-update/)
queries without `WHERE` clause.
```shell
curl -X PATCH -H "Content-Type: application/sparql-update" \
-d "INSERT DATA { <ex:s2> <ex:p2> <ex:o2> }" \
http://localhost:3000/myfile.ttl
```
### `HEAD`: Retrieve resources headers
```shell
curl -I -H "Accept: text/plain" \
http://localhost:3000/myfile.txt
```
### `OPTIONS`: Retrieve resources communication options
```shell
curl -X OPTIONS -i http://localhost:3000/myfile.txt
```