Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Apiee is a helper library for Java EE 7 JAX-RS applications that bundles Swagger integration and serves a Swagger UI alongside JSON and YAML API documents. Add its apiee-core Maven dependency, make sure its JAX-RS service is registered, then open the UI below your application’s JAX-RS path.

What Apiee does

Apiee packages Swagger components for Java EE 7 JAX-RS services: swagger-core, swagger-annotations, swagger-jaxrs, and Swagger UI. Its author, Phillip Krüger, described it in 2017 as a way to use Swagger annotations and make JSON and YAML API documents, plus a customizable Swagger UI, available from an application.

This is a 2017-era integration built around the Java EE and Swagger ecosystem of that time. The historical article frames Swagger as a way to describe REST services and as part of the effort that led to OpenAPI standardization; it should not be read as a current announcement or a guarantee of compatibility with present-day runtimes or OpenAPI versions.

Add Apiee to a Maven application

In the 2017 instructions, installation centers on the apiee-core artifact, which pulls in the Swagger dependencies:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<dependency>
  <groupId>com.github.phillip-kruger</groupId>
  <artifactId>apiee-core</artifactId>
  <version>1.0.8</version>
</dependency>

Version 1.0.8 is the version identified in Krüger’s 2017 article, which said the artifact was published to Maven Central and Nexus OSS. Treat that as historical setup information, not evidence that the artifact is actively maintained or suitable for every current Java platform.

Register Apiee with JAX-RS

How Apiee is discovered depends on how the application configures JAX-RS. If the application uses autoscan, the author says the integration should be picked up automatically. If it manually returns the set of JAX-RS resource and provider classes, include com.github.phillipkruger.apiee.ApieeService.class in that set.

That distinction matters because adding the Maven dependency alone does not ensure that a manually configured JAX-RS application registers Apiee’s service.

Open the UI and API documents

The documented UI path is /apiee/ beneath the application context and JAX-RS application path:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
http://localhost:8080/your-application-context/your-jaxrs-application-path/apiee/

For the article’s example application, the path is /apiee-example/api/apiee/. Apiee also makes Swagger JSON and YAML documents available. The 2017 documentation does not establish a universal document URL independent of application configuration, so use the deployed application’s context and JAX-RS path when locating its endpoints.

Describe the API with metadata

JAX-RS classes can use Swagger annotations, including @Api, @ApiOperation, and @SwaggerDefinition, to describe the API and its operations. The documented metadata includes a title, description, version, contact, and license.

Krüger’s article also describes setting the same general information in apiee.properties, with fields such as infoTitle, infoDescription, infoVersion, contact fields, and license fields. Use annotations when metadata belongs with the API classes; use the properties file when you prefer external configuration. The article identifies these fields but does not provide a complete property-key listing for every contact and license value.

White-label the Swagger UI

For a WAR deployment, place customization resources in src/main/resources. The documented files are:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • apiee.properties controls labels, the title, copyright text, and the Swagger UI theme.
  • apiee.png replaces the default logo.
  • apiee.css changes styling.
  • apiee.html replaces the UI template.

The themes listed in the 2017 article are feeling-blue, flattop, material, monokai, muted, newspaper, and outline. These are the options documented there; their availability and appearance in a particular deployment are not established for current Swagger UI releases.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Account for reverse-proxy URLs

When the application is deployed behind a proxy, Apiee’s article documents these headers as inputs to the generated URLs:

  • x-request-uri sets the path portion.
  • x-forwarded-port sets the port.
  • x-forwarded-proto sets the scheme or protocol.

Configure the proxy to supply the values appropriate to the externally reachable application URL. The documented headers are configuration guidance, not a claim that every proxy topology or header convention is automatically supported.

Historical runtime evidence and troubleshooting

Krüger reported testing Apiee on these versions in 2017:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Runtime Version reported tested
WildFly 10.0.1
Payara 172
IBM Liberty 17.0.0.1

These are historical test results, not a current support matrix. A 2019 practitioner account described trying Apiee without seeing services or an obvious error. That anecdote does not establish a general defect, but it makes registration and path checks sensible first steps when the UI is empty.

  1. Confirm that the deployed application includes apiee-core.
  2. Check whether JAX-RS uses autoscan. If it manually defines classes, add ApieeService.class to the returned class set.
  3. Verify the application context and JAX-RS application path, then open the UI under that path followed by /apiee/.
  4. If the deployment is behind a proxy, check the documented request URI, forwarded port, and forwarded protocol headers against the public URL.
  5. If those checks do not resolve the issue, investigate the specific server’s JAX-RS configuration and deployment behavior; the historical runtime list does not establish compatibility with newer versions.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.