Skip to content

Latest commit

 

History

History
124 lines (78 loc) · 3.63 KB

File metadata and controls

124 lines (78 loc) · 3.63 KB

Process Service invocation with REST call

Description

A quickstart project that processes users in the system. It's main purpose is to to call external REST service to load a given user by its username.

This example shows

  • invoking remote REST service

  • control flow based on service calls

  • Diagram

  • Diagram Properties

  • Diagram Properties

  • Diagram Properties

  • Find User Service Call

  • Find User Service Call

  • Find User Gateway Yes

  • Find User Gateway No

  • Audit User Service Rest Call

  • Audit User Service Rest Call

Build and run

Prerequisites

You will need:

  • Java 11+ installed
  • Environment variable JAVA_HOME set accordingly
  • Maven 3.6.2+ installed

Compile and Run in Local Dev Mode

mvn clean compile spring-boot:run

Package and Run using uberjar

mvn clean package

To run the generated native executable, generated in target/, execute

java -jar target/process-service-rest-call-springboot.jar

OpenAPI (Swagger) documentation

Specification at swagger.io

You can take a look at the OpenAPI definition - automatically generated and included in this service - to determine all available operations exposed by this service. For easy readability you can visualize the OpenAPI definition file using a UI tool like for example available Swagger UI.

In addition, various clients to interact with this service can be easily generated using this OpenAPI definition.

Submit a user name

To make use of this application it is as simple as putting a sending request to http://localhost:8080/users with following content

{
    "username" : "test"
}

Complete curl command can be found below:

curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{"username" : "test"}' http://localhost:8080/users

After the above command you should see some log on Springboot sush as following

  • Springboot Log

To test the other route possible for unknown user send request to http://localhost:8080/users with following content

{
    "username" : "nonexisting"
}

Complete curl command can be found below:

curl -X POST -H 'Content-Type:application/json' -H 'Accept:application/json' -d '{"username" : "nonexisting"}' http://localhost:8080/users

After the above command nothing will show on Springboot log as the user is skipped but you should see the following on terminal after curl

  • Curl Log

Deploying with Kogito Operator

In the operator directory you'll find the custom resources needed to deploy this example on OpenShift with the Kogito Operator.