Chapter 1. Overview
Red Hat Fuse on OpenShift provides API Designer, a web-based API editor, that you can use to design REST APIs that comply with the OpenAPI 2.0 specification, a vendor-neutral and portable open description format for API services. API Designer is a “light” version of the Apicurio Studio open source project (https://www.apicur.io/). This means that your API Designer sessions are stateless and you must save your API definition as a JSON file at the end of each session.
You can also use API Designer to generate a preliminary Fuse project based on a REST API definition. In your Fuse development environment, you can then complete the project’s Camel routes and build the project. Finally, you can deploy the resulting REST service on Fuse on OpenShift.
Here is an overview of how you can use API Designer to incorporate REST APIs in your Fuse on OpenShift application solution:
- Add API Designer as a service to your OpenShift project.
In API Designer:
- Create an API definition with API Designer. Save the REST API definition as a JSON file to your local file system. You can save your API definition at any point during your editing session, even if the API definition is not complete.
- Upload an API definition to API Designer.
- Generate a Fuse Camel project based on the current REST API definition. API Designer provides a downloadable zip file that contains a complete Maven project.
- In your Fuse development environment, complete the skeleton implementation provided by the generated Fuse project.
- Build and deploy the Fuse application to OpenShift.
- (Optional) Integrate the Fuse application with Red Hat 3scale API Management, using the 3scale service discovery capability to find and configure your Fuse application.
1.1. Add API Designer as a service to your OpenShift project
You can add API Designer as a service to your OpenShift project from the OpenShift service catalog. You can access this instance at a URL external to the OpenShift environment.
- Obtain the hostname that will allow you to access API Designer by following the guidelines recommended by your OpenShift system administrator.
Verify that the Fuse on OpenShift images and templates, including
fuse-apidesigner-generator, are installed on your OpenShift cluster, by running the following command in a command window:
oc get is -n openshift
If the images and templates are not pre-installed, or if the provided versions are out of date, install (or update) the Fuse on OpenShift images and templates as described in the Fuse on OpenShift Guide.
To add API Designer as a service to your OpenShift project:
In a command window, log in to the OpenShift server:
oc login -u developer -p developer
Create a new project namespace. For example, the following command creates a new project named test:
oc new-project test
In your web browser, open the OpenShift console and log in with your credentials (for example, username
Click Catalog. In the Catalog search field, type
API Designerand then select Red Hat Fuse API Designer.
The Information step of the Red Hat Fuse API Designer wizard opens.
The Configuration step of the Red Hat Fuse API Designer wizard opens.
In the Image Stream Namespace field, type
In the ROUTE_HOSTNAME field, type the external hostname that allows you to access the API Designer instance, for example
Accept the default values for the rest of the settings in the Configuration step and click Create.
The Results step of the template wizard opens.
- Click Close.
In the OpenShift web console, in the My Projects pane, select the project, for example select test.
The project’s Overview tab opens, showing the apidesigner-ui application.
- Click the arrow to the left of the apidesigner-ui deployment to expand and view the deployment details.
Click the link for the API Designer instance, for example
API Designer opens in a new web browser window or tab.
If you cannot open the API Designer instance, you might need to edit your computer’s
/etc/hosts file to add the ROUTE_HOSTNAME by using the following syntax, where
$OPENSHIFT_IP_ADDR is the IP address for the OpenShift server and
apidesigner.my-minishift.apicurio.io is the ROUTE_HOSTNAME that you specified in step 7.