Java API Setup

Estimated reading time: 4 minutes

Overview

Interject allows data flow from custom sources through a web API. The Interject Java API is built upon Java and the Spring Framework.

Requirements

Get the Code

With Git, you can clone the repository directly to your system. Navigate to the desired directory and run the following command:

git clone https://github.com/GoInterject/ids-java-api.git

Note: If this repo is private and you need access, please contact us. It will be public soon.

Alternatively you can download the zip file and unpack manually:


Setup

Open a terminal and navigate to the "ids-java-api" directory where the repo was installed. Then navigate to the "interject-webapp" directory.

Download dependencies:

mvn dependency:copy-dependencies

Create a clean build of the Rest API:

mvn clean package

Run API

To run with Maven:

mvn spring-boot:run

To run with Java:

java -jar "./target/interject-webbapp-1.0.0-SNAPSHOT.jar"

Note: For more information, view the Readme in the parent directory or the doc files in the docs folder of the repo.

Change Host and Port

To change the host and port number, simply change the values in the application.yaml file:

server:
      port: 8080
      address: 127.0.0.1

Development Docs

There are docs in the repo pertaining to development. They are found in the asciidoc directory:

File Description
add-new-endpoint How to add a new endpoint
local-development Setting up a local development environment
local-test How to run and create new test cases
sql-request-example An example body of a SQL request
swagger-ui Information about the Swagger UI

Interject Docs

There are docs in the repo pertaining to setting up Interject reports and functions. They are found in the examples directory:

File Description
example.xlsx An example Excel workbook that interacts with the API endpoints
formula_jcolumndef How to set up the jColumnDef formula
portal_parameters How to set up Interject parameters
report_fixed How to set up an Interject ReportFixed
report_range How to set up an Interject ReportRange
report_save How to set up an Interject ReportSave
report_variable How to set up an Interject ReportVariable
sql_data_connection How to work with the SqlDataConnection interface to set up a SQL data connection and controller
user_message How to send messages back to the Interject from the API