# Accessing Entando APIs
# Prerequisites
Java 8
maven
# Setup
Clone the Entando sample app if you don’t already have it.
git clone https://github.com/entando/entando-de-appStart the app for local execution and enable the swagger profile by passing
-Dspring.profiles.active=swaggerto the jetty command. Set the value of-Djetty.portto something available on your machine e.g. 8081.mvn clean package jetty:run-war -Pjetty-local -Pderby -Dspring.profiles.active=swagger -Djetty.port=8085 -Dorg.slf4j.simpleLogger.log.org.eclipse.jetty.annotations.AnnotationParser=error
- Note: If you don't have docker installed or running add
-DskipDocker=trueto the command above
Wait for the app to start.
Once started, navigate to the swagger ui in a browser.
http://localhost:[your port]/entando-de-app/api/swagger-ui.html
# Overview
The Entando core exposes REST APIs for every action that can be taken in the App Builder and Admin Console environments. For example, you can use these apis to create pages, create page models or to add widgets to pages. The APIs can be used to support automation, testing, or integrations with external systems.
# API structure
All of the APIs share a common top level structure. Each response will
contain a top level entry for errors, metadata, and payload.
The errors will always contain code and a message string indicating an
error condition in the request. The metadata section is used for
paging, sorting, filtering and data that is distinct from the body. The
body of each response is included in the payload section of the
response and varies according to each API.
# Models
All of the model classes returned by the Entando core are annotated so that the model definition is included in the swagger documentation. At the bottom of the swagger page all of the model classes returned by the API endpoints can be found.
# Tutorial:
Stop the Entando instance if it is running.
In the project open
src/main/conf/systemParams.properties.Change the value of this property to reflect the port you are using to run the app.
applicationBaseURL
For example if running on 8085 you would have
applicationBaseURL=http://localhost:8085/${entando.engine.web.context}/
Login to the admin console at http://localhost:8085/entando-de-app/do/login (opens new window).
Once logged in go to Integration -→ API Management -→ Consumers.
Select the kebab button on the row labeled swagger.
On that screen enable the button for
client_credentials.On that screen enter
swaggeras the value for the secret.Hit save
Return to swagger your port (opens new window)/entando-de-app/api/swagger-ui.html
Hit authorize
Enter
User: admin
PW: adminadmin
client: swagger
client_secret: swagger
Use the Try it out button on the APIs
Scroll to
widget-controllerSelect the blue GET row
Select Try it out
Look at the results in the window