npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@openapi-generator-plus/java-jaxrs-server-generator

v3.5.2

Published

An OpenAPI Generator Plus template for a Java API server using JAX-RS

Downloads

267

Readme

Java JAX-RS Server API generator for OpenAPI Generator Plus

An OpenAPI Generator Plus template for a Java API server using JAX-RS.

Overview

The generated code has useful features:

  • Exceptions are used for non-default responses, such as 400 responses, so you can only return the specified status codes.
  • Response Exceptions can have an entity type to return with the error response.
  • Model objects and enums will be nested in the API service if they are inlined in the specification.

Using

See the OpenAPI Generator Plus documentation for how to use generator templates.

Config file

The available config file properties are:

Project layout

|Property|Type|Description|Default| |--------|----|-----------|-------| |package|string|Base package name that other default package names will be based on.|"com.example"| |apiPackage|string|Package for API interfaces.|"${package}"| |apiImplPackage|string|Package for API implementation classes.|"${apiPackage}.impl"| |apiParamsPackage|string | null|Package for API parameter classes.|"${apiPackage}.params"| |apiServicePackage|string|Package for API service interfaces.|"${apiPackage}.service"| |apiServiceImplPackage|string | null|Package for API service implementation classes.|"${apiServicePackage}.impl"| |modelPackage|string|Package for API model classes.|"${package}.model"| |invokerPackage|string | null|Package for API invoker classes.|"${package}.app"| |invokerName|string | null|Name for the API application class.|"RestApplication"| |validationPackage|string|Package for API validation classes.|"${package}.validation"| |relativeSourceOutputPath|string|The path to output generated source code, relative to the output path.|./ or ./src/main/java if maven is specified.| |relativeApiSourceOutputPath|string|The path to output generated API interface source code, relative to the output path.|${relativeSourceOutputPath}| |relativeApiImplSourceOutputPath|string|The path to output generated API implementation source code, relative to the output path.|${relativeSourceOutputPath}|

Code style

|Property|Type|Description|Default| |--------|----|-----------|-------| |useBeanValidation|boolean|Whether to use bean validation.|true| |dateImplementation|string|Date type class.|"java.time.LocalDate"| |timeImplementation|string|Time type class.|"java.time.LocalTime"| |dateTimeImplementation|string|Date time type class.|"java.time.OffsetDateTime"| |binaryRepresentation|string|Binary data representation.|"byte[]"| |constantStyle|"allCapsSnake" | "allCaps" | "camelCase" | "pascalCase"|The style to use for constant naming.|"allCapsSnake"| |enumMemberStyle|"preserve" | "constant"|The style to use for enum member names: preserve attempts to match the enum member name to the literal enum value from the spec; constant uses the constantStyle rules.|"constant"| |apiClassPrefix|string|Apply a prefix to all API interface and implementation class names.|undefined| |modelClassPrefix|string|Apply a prefix to all model class names.|undefined| |modelClassSuffix|string|Apply a suffix to all model class names.|undefined| |enumClassPrefix|string|Apply a prefix to all enum class names.|modelClassPrefix| |enumClassSuffix|string|Apply a suffix to all enum class names.|modelClassSuffix| |authenticationRequiredAnnotation|string|Annotation to add to API methods that require authentication.|undefined| |useJakarta|boolean|Whether to use jakarta packages instead of javax packages.|false|

Packaging

|Property|Type|Description|Default| |--------|----|-----------|-------| |maven|MavenConfig|Configuration for generating a Maven pom.xml|undefined|

MavenConfig

|Property|Type|Description|Default| |--------|----|-----------|-------| |groupId|string|The Maven template groupId|com.example| |artifactId|string|The Maven template artifactId|api-server| |version|string|The Maven template version|0.0.1| |versions|{ name: version }|Custom dependency versions (see pom.hbs)|undefined|

General

|Property|Type|Description|Default| |--------|----|-----------|-------| |hideGenerationTimestamp|boolean|Whether to hide the timestamp in the @Generated annotation.|true|

Testing

|Property|Type|Description|Default| |--------|----|-----------|-------| |includeTests|boolean|Whether to generate test classes.|false| |junitVersion|4 | 5|The JUnit version to use.|5|

Overrides

|Property|Type|Description|Default| |--------|----|-----------|-------| |imports|string[]|Additional imports to add to all generated classes.|undefined| |customTemplates|string|The path to a directory containing custom Handlebars templates, relative to the config file. See Customising below.|undefined| |customizations|string: JavaClassCustomizations|Customizations to apply to generated classes as a map from a fully-qualified class name to a customizations object.|undefined|

JavaClassCustomizations

Cutomizations to apply to the selected Java class.

|Property|Type|Description|Default| |--------|----|-----------|-------| |implements|string[]|An array of fully-qualified class names to add to the implements of the generated class.|undefined|

Customising

This generator supports a customTemplates config file property to specify a directory containing Handlebars templates that will be used to override built-in templates.

Any custom template will have the original template available as a partial named by prefixing the template name with original, and then upper-casing the first letter, e.g. originalBodyParams.

Some of the templates in the generator are designed to support overriding for custom requirements. Please inspect the templates in the templates directory.