Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Standardized Methods: RESTful services use standard HTTP methods (GET, POST, PUTPATCH, DELETE) to perform CRUD operations. This makes the API intuitive and easier to use, as developers are already familiar with these methods.

  • Statelessness: RESTful APIs are stateless, meaning each request from a client contains all the information needed to process the request. This simplifies the server design and improves scalability.

...

  1. Find the create-endpoint-4-template endpoint, which is used for setting up new REST APIs for each SPARQL template.

  2. Click on the "Try it out" button to enable interactive usage of this endpoint.

  3. Configure the Endpoint Details

    • In the records array, you will configure each CRUD operation as a separate object. Here’s how you can set up each endpoint for the EditorialObject class:

      Code Block
      languagejson
      {
          "records": [
              {
                  "endpoint": "editorialObject",
                  "baseURL": "/v1",
                  "endpointConfig": [
                      {
                          "method": "get",
                          "template": "readEditorialObject"
                      },
                      {
                          "method": "post",
                          "template": "createEditorialObject"
                      },
                      {
                          "method": "patch",
                          "template": "updateEditorialObject"
                      },
                      {
                          "method": "delete",
                          "template": "deleteEditorialObject"
                      }
                  ]
              }
          ]
      }
    • Variable Descriptions

      • records: This array holds one or more configuration objects. Each object defines a set of CRUD operations associated with a specific endpoint.

        • endpoint: This string specifies the name of the endpoint. It acts as a part of the URL path where the API will be accessible. For example, editorialObject results in a REST endpoint that could be accessed via ${baseURL}/editorialObject.

        • baseURL: This is the base path under which the endpoint will be grouped. For instance, /v1 indicates that the endpoint will be accessed under the version 1 group, forming part of the complete URL path. For example, http://localhost/enapso-dev/view-management${baseURL}/${endpoint} will become http://localhost/enapso-dev/view-management/v1/editorialObject.

        • endpointConfig: An array of objects where each object specifies a CRUD operation and the associated settings:

          • method: The HTTP method (e.g., get, post, put patch, delete) that determines what kind of operation this endpoint will perform. This corresponds to the CRUD operation:

            • get for reading or retrieving data,

            • post for creating new data,

            • put patch for updating existing data,

            • delete for removing data.

          • template: The name of the SPARQL template that will be executed when this endpoint is called. It ties the REST API directly to a predefined SPARQL operation within the database management system.

  4. After entering all the necessary details, click on the Execute button. A successful request will create REST endpoints for each configured operation.

    create-endpoint-request.png

  5. The response will indicate success, confirming that the endpoints are now set up and ready for use.

    create-endpoint-request-response.png

...

  1. Find the delete-endpoint-of-template endpoint, which is used for removing existing REST APIs of each SPARQL template.

  2. Click on the "Try it out" button to enable interactive usage of this endpoint.

  3. Configure the Endpoint Details

    • In the records array, you will configure each CRUD operation as a separate object. Here’s how you can remove REST endpoints of the EditorialObject class:

      Code Block
      {
          "records": [
              {
                  "endpoint": "editorialObject",
                  "baseURL": "/v1",
                  "endpointConfig": [
                      {
                          "method": "get",
                          "template": "readEditorialObject"
                      },
                      {
                          "method": "post",
                          "template": "createEditorialObject"
                      },
                      {
                          "method": "patch",
                          "template": "updateEditorialObject"
                      },
                      {
                          "method": "delete",
                          "template": "deleteEditorialObject"
                      }
                  ]
              }
          ]
      }
    • Variable Descriptions

      • records: This array holds one or more configuration objects.

        • endpoint: This string specifies the name of the endpoint. It acts as a part of the URL path where the API is accessible. For example, editorialObject results in a REST endpoint that could be accessed via ${baseURL}/editorialObject.

        • baseURL: This is the base path under which the endpoint is grouped. For instance, "/v1" indicates that the endpoint is to be accessed under the version 1 group, forming part of the complete URL path. For example, <http://localhost/enapso-dev/view-management${baseURL}/${endpoint}> will become <http://localhost/enapso-dev/view-management/v1/editorialObject.>

        • endpointConfig: An array of objects where each object specifies a CRUD operation and the associated template that needs to be removed.

          • method: The HTTP method (e.g., "get", "post", "put" patch, "delete") that determines what kind of operation needs to be removed. This corresponds to the CRUD operation:

            • get for reading or retrieving data,

            • post for creating new data,

            • put patch for updating existing data,

            • delete for removing data.

          • template: The name of the SPARQL template as we create one method for each template name which is called when we send a request on that REST method so as to remove that method.

  4. After entering all the necessary details, click on the "Execute" button. A successful request will create REST endpoints for each configured operation.

    delete-endpoint-request.png

  5. The response will indicate success, confirming that the endpoints are removed.

    delete-endpoint-request-response.png

...

Code Block
languagebash
curl -X PUTPATCH "http://localhost/enapso-dev/view-management/v1/editorialObject" -H "Content-Type: application/json" -d "{\"variables\": {\"iri\": \"http://ont.enapso.com/sparql-template#EditorialObject_2f9b1462-e937-4416-8c23-ce96fc42dc55\", \"productionSynopsis\": \"Directed by Florian Henckel von Donnersmarck, this sweeping historical drama delves into themes of art, love, tragedy, and the inescapable impact of politics on personal lives.\"}}"

...