{"id":14977591,"url":"https://github.com/holon-platform/holon-jaxrs","last_synced_at":"2026-01-12T09:37:53.983Z","repository":{"id":57724997,"uuid":"93081686","full_name":"holon-platform/holon-jaxrs","owner":"holon-platform","description":"Holon Platform JAX-RS integration module, including RestClient implementation, Swagger/OpenAPI integration and Spring Boot auto-configuration for Jersey and RestEasy","archived":false,"fork":false,"pushed_at":"2025-12-22T15:08:33.000Z","size":1507,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-24T00:49:47.579Z","etag":null,"topics":["gson","holon-platform","jackson","jax-rs","jersey","json-provider","rest","resteasy","restful","spring","spring-boot-starters"],"latest_commit_sha":null,"homepage":"https://holon-platform.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/holon-platform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-01T17:18:08.000Z","updated_at":"2025-12-22T15:08:38.000Z","dependencies_parsed_at":"2025-10-30T13:17:20.982Z","dependency_job_id":null,"html_url":"https://github.com/holon-platform/holon-jaxrs","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/holon-platform/holon-jaxrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holon-platform%2Fholon-jaxrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holon-platform%2Fholon-jaxrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holon-platform%2Fholon-jaxrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holon-platform%2Fholon-jaxrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holon-platform","download_url":"https://codeload.github.com/holon-platform/holon-jaxrs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holon-platform%2Fholon-jaxrs/sbom","scorecard":{"id":467967,"data":{"date":"2025-08-11","repo":{"name":"github.com/holon-platform/holon-jaxrs","commit":"d47c4cf84387e7d2e9a096b04c8a96ccfb814777"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":8,"reason":"4 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v","Warn: Project is vulnerable to: GHSA-h46c-h94j-95f3","Warn: Project is vulnerable to: GHSA-5mg8-w23w-74h3","Warn: Project is vulnerable to: GHSA-7g45-4rm6-3mm3","Warn: Project is vulnerable to: GHSA-9w3m-gqgf-c4p9","Warn: Project is vulnerable to: GHSA-mjmj-j48q-9wg2","Warn: Project is vulnerable to: GHSA-w37g-rhq8-7m4j"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T13:00:05.376Z","repository_id":57724997,"created_at":"2025-08-19T13:00:05.376Z","updated_at":"2025-08-19T13:00:05.376Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gson","holon-platform","jackson","jax-rs","jersey","json-provider","rest","resteasy","restful","spring","spring-boot-starters"],"created_at":"2024-09-24T13:55:57.463Z","updated_at":"2026-01-12T09:37:53.976Z","avatar_url":"https://github.com/holon-platform.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Holon platform JAX-RS module\n\n\u003e Latest release: [6.0.2](#obtain-the-artifacts)\n\nThis is the __JAX-RS__ module of the [Holon Platform](https://holon-platform.com), which provides support, components and configuration helpers concerning the [JAX-RS](https://github.com/jax-rs/spec/blob/master/spec.pdf) - _Java API for RESTful Web Service_ standard.\n\nThe module main features are:\n\n* A _JAX-RS_ implementation of the core platform `RestClient` API, a complete and easy to use _RESTful web services_ Java client, including an __asynchronous__ and a __reactive__ (using Project Reactor) version.\n* A set of standard _JAX-RS_ components to implement server-side API __authentication and authorization__ using platform core APIs and services, such as `Realm` and `AuthContext`, in addition to standard `javax.annotation.security` standard annotations.\n* A complete integration with [Swagger](http://swagger.io) _OpenAPI Specification_, __both for version 2 and 3__, including support for the `PropertyBox` core platform data container interface (to be exposed as a Swagger _Model_ definition) and for Swagger API listing endpoints (both in _JSON_ and _YAML_ formats) configuration.\n* __Spring Boot__ auto-configuration classes to automatically register suitable __Spring beans__ (for example beans annotated with `@Path` or `@Provider`) as resources in a _JAX-RS_ compliant server. \n* __Spring Boot__ auto-configuration artifact to automatically enable and configure a [Resteasy](http://resteasy.jboss.org) server with Spring integration.\n* A set of __Spring Boot starters__ to setup _JAX-RS_ compliant clients and servers:\n\t* Using either [Jersey](https://github.com/jersey) or [Resteasy](http://resteasy.jboss.org) as _JAX-RS_ implementation.\n\t* Using either [Jackson](http://wiki.fasterxml.com/JacksonHome) or [Gson](https://github.com/google/gson) as JSON provider\n\t* Using either [Tomcat](http://tomcat.apache.org) or [Undertow](http://undertow.io) as embedded servlet container.\n\nSee the module [documentation](https://docs.holon-platform.com/current/reference/holon-jaxrs.html) for details.\n\nJust like any other platform module, this artifact is part of the [Holon Platform](https://holon-platform.com) ecosystem, but can be also used as a _stand-alone_ library.\n\nSee [Getting started](#getting-started) and the [platform documentation](https://docs.holon-platform.com/current/reference) for further details.\n\n## At-a-glance overview\n\n_JAX-RS Property model support:_\n```java\n// Property model\npublic interface Subject {\n\t\t\n\tstatic final NumericProperty\u003cLong\u003e ID = NumericProperty.longType(\"id\");\n\tstatic final StringProperty NAME = StringProperty.create(\"name\");\n\tstatic final StringProperty SURNAME = StringProperty.create(\"surname\");\n\n\tstatic final PropertySet\u003c?\u003e SUBJECT = PropertySet.of(ID, NAME, SURNAME);\n\t\t\n\tstatic final DataTarget\u003c?\u003e TARGET = DataTarget.named(\"subjects\");\n\n}\n\n// JAX-RS endpoint\n@Path(\"/subjects\")\npublic class SubjectEndpoint {\n\n\t@Inject\n\tprivate Datastore datastore;\n\t\t\n\t@GET\n\t@Path(\"/\")\n\t@Produces(MediaType.APPLICATION_JSON)\n\tpublic List\u003cPropertyBox\u003e getSubjects() {\n\t\treturn datastore.query().target(TARGET).list(SUBJECT);\n\t}\n\n\t@GET\n\t@Path(\"/{id}\")\n\t@Produces(MediaType.APPLICATION_JSON)\n\tpublic Response getSubject(@PathParam(\"id\") Long id) {\n\t\treturn datastore.query().target(TARGET).filter(ID.eq(id)).findOne(SUBJECT)\n\t\t.map(p -\u003e Response.ok(p).build())\n\t\t.orElse(Response.status(Status.NOT_FOUND).build());\n\t}\n\n\t@POST\n\t@Path(\"/\")\n\t@Consumes(MediaType.APPLICATION_JSON)\n\tpublic Response addSubject(@PropertySetRef(Subject.class) PropertyBox subject) {\n\t\tdatastore.save(TARGET, subject, DefaultWriteOption.BRING_BACK_GENERATED_IDS);\n\t\treturn Response.created(URI.create(\"/api/subjects/\" + subject.getValue(ID))).build();\n\t}\n\n}\n```\n\n_JAX-RS API documentation using Swagger:_\n```yaml\nholon:\n  swagger:\n    path: 'docs'\n    title: 'API title'\n    version: 'v1'\n```\n```java\n@Path(\"example\")\n@Component\npublic class Endpoint {\n\t/* operations omitted */\n}\n```\n\n_JAX-RS authentication using JWT and Spring Boot:_\n```yaml\nholon:\n  jwt:\n    signature-algorithm: HS256\n    sharedkey-base64: eWGZLlCrUjtBZwxgzcLPnA\n    expire-hours: 1\n    issuer: example-issuer\n```\n```java\t\t\n// Ream with JWT authentication support\n@Bean\npublic Realm realm(JwtConfiguration jwtConfiguration) {\n  return Realm.builder().resolver(AuthenticationToken.httpBearerResolver())\n  \t.authenticator(JwtAuthenticator.builder().configuration(jwtConfiguration).build())\n  \t.withDefaultAuthorizer().build();\n}\n\n// Protected JAX-RS endpoint\n@Authenticate\n@Path(\"/api/protected\")\npublic class ApiEndpoint {\n\n\t@RolesAllowed(\"ROLE1\")\n\t@GET\n\t@Path(\"/operation\")\n\tpublic Response userOperation(@Context SecurityContext securityContext) {\n\n\t\t// principal name\n\t\tString principalName = securityContext.getUserPrincipal().getName();\n\t\t// authentication from JSON Web Token\n\t\tAuthentication auth = (Authentication) securityContext.getUserPrincipal();\n\n\t\treturn Response.ok(principalName).build();\n\t}\n\n}\n```\n\n_JAX-RS RestClient:_\n```java\nRestClient client = RestClient.forTarget(\"https://host/api\");\n\t\t\nOptional\u003cTestData\u003e data = client.request().path(\"data/{id}\").resolve(\"id\", 1)\n\t.accept(MediaType.APPLICATION_JSON).getForEntity(TestData.class);\n\nOptional\u003cPropertyBox\u003e value = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).getForEntity(PropertyBox.class);\n\nResponseEntity\u003cPropertyBox\u003e response = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).get(PropertyBox.class);\n\nList\u003cPropertyBox\u003e values = client.request().path(\"get_property_boxes_json\")\n\t.propertySet(SUBJECT).getAsList(PropertyBox.class);\n\nResponseEntity\u003cVoid\u003e postResponse = client.request().path(\"postbox\")\n\t.post(RequestEntity.json(PropertyBox.builder(SUBJECT).set(ID, 1).set(NAME, \"Test\").build()));\n```\n\n_JAX-RS Asynchronous RestClient (since version 5.2):_\n```java\nAsyncRestClient client = AsyncRestClient.forTarget(\"https://host/api\");\n\t\t\nCompletionStage\u003cOptional\u003cTestData\u003e\u003e data = client.request().path(\"data/{id}\").resolve(\"id\", 1)\n\t.accept(MediaType.APPLICATION_JSON).getForEntity(TestData.class);\n\nCompletionStage\u003cOptional\u003cPropertyBox\u003e\u003e value = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).getForEntity(PropertyBox.class);\n\nCompletionStage\u003cResponseEntity\u003cPropertyBox\u003e\u003e response = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).get(PropertyBox.class);\n\nCompletionStage\u003cList\u003cPropertyBox\u003e\u003e values = client.request().path(\"get_property_boxes_json\")\n\t.propertySet(SUBJECT).getAsList(PropertyBox.class);\n\nCompletionStage\u003cResponseEntity\u003cVoid\u003e\u003e postResponse = client.request().path(\"postbox\")\n\t.post(RequestEntity.json(PropertyBox.builder(SUBJECT).set(ID, 1).set(NAME, \"Test\").build()));\n```\n\n_JAX-RS Reactive RestClient (since version 5.2):_\n```java\nReactiveRestClient client = ReactiveRestClient.forTarget(\"https://host/api\");\n\t\t\nMono\u003cTestData\u003e data = client.request().path(\"data/{id}\").resolve(\"id\", 1)\n\t.accept(MediaType.APPLICATION_JSON).getForEntity(TestData.class);\n\nMono\u003cPropertyBox\u003e value = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).getForEntity(PropertyBox.class);\n\nMono\u003cReactiveResponseEntity\u003cPropertyBox\u003e\u003e response = client.request().path(\"get_property_box_json\")\n\t.propertySet(SUBJECT).get(PropertyBox.class);\n\nFlux\u003cPropertyBox\u003e values = client.request().path(\"get_property_boxes_json\")\n\t.propertySet(SUBJECT).getAsList(PropertyBox.class);\n\nMono\u003cReactiveResponseEntity\u003cVoid\u003e\u003e postResponse = client.request().path(\"postbox\")\n\t.post(RequestEntity.json(PropertyBox.builder(SUBJECT).set(ID, 1).set(NAME, \"Test\").build()));\n```\n\nSee the [module documentation](https://docs.holon-platform.com/current/reference/holon-jaxrs.html) for the user guide and a full set of examples.\n\n## Code structure\n\nSee [Holon Platform code structure and conventions](https://github.com/holon-platform/platform/blob/master/CODING.md) to learn about the _\"real Java API\"_ philosophy with which the project codebase is developed and organized.\n\n## Getting started\n\n### System requirements\n\nThe Holon Platform is built using __Java 21__, so you need a JRE/JDK version 21 or above to use the platform artifacts.\n\nThe __JAX-RS__ specification version __2.0 or above__ is required.\n\nThis module is tested against [Jersey](https://github.com/eclipse-ee4j/jersey) version __3.x__ and [Resteasy](https://github.com/resteasy/resteasy) version __6.x__.\n\n### Releases\n\nSee [releases](https://github.com/holon-platform/holon-jaxrs/releases) for the available releases. Each release tag provides a link to the closed issues.\n\n### Obtain the artifacts\n\nThe [Holon Platform](https://holon-platform.com) is open source and licensed under the [Apache 2.0 license](LICENSE.md). All the artifacts (including binaries, sources and javadocs) are available from the [Maven Central](https://mvnrepository.com/repos/central) repository.\n\nThe Maven __group id__ for this module is `com.holon-platform.jaxrs` and a _BOM (Bill of Materials)_ is provided to obtain the module artifacts:\n\n_Maven BOM:_\n```xml\n\u003cdependencyManagement\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.holon-platform.jaxrs\u003c/groupId\u003e\n        \u003cartifactId\u003eholon-jaxrs-bom\u003c/artifactId\u003e\n        \u003cversion\u003e6.0.2\u003c/version\u003e\n        \u003ctype\u003epom\u003c/type\u003e\n        \u003cscope\u003eimport\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencyManagement\u003e\n```\n\nSee the [Artifacts list](#artifacts-list) for a list of the available artifacts of this module.\n\n### Using the Platform BOM\n\nThe [Holon Platform](https://holon-platform.com) provides an overall Maven _BOM (Bill of Materials)_ to easily obtain all the available platform artifacts:\n\n_Platform Maven BOM:_\n```xml\n\u003cdependencyManagement\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.holon-platform\u003c/groupId\u003e\n        \u003cartifactId\u003ebom\u003c/artifactId\u003e\n        \u003cversion\u003e${platform-version}\u003c/version\u003e\n        \u003ctype\u003epom\u003c/type\u003e\n        \u003cscope\u003eimport\u003c/scope\u003e\n    \u003c/dependency\u003e\n\u003c/dependencyManagement\u003e\n```\n\nSee the [Artifacts list](#artifacts-list) for a list of the available artifacts of this module.\n\n### Build from sources\n\nYou can build the sources using Maven (version 3.3.x or above is recommended) like this: \n\n`mvn clean install`\n\n## Getting help\n\n* Check the [platform documentation](https://docs.holon-platform.com/current/reference) or the specific [module documentation](https://docs.holon-platform.com/current/reference/holon-jaxrs.html).\n\n* Ask a question on [Stack Overflow](http://stackoverflow.com). We monitor the [`holon-platform`](http://stackoverflow.com/tags/holon-platform) tag.\n\n* Report an [issue](https://github.com/holon-platform/holon-jaxrs/issues).\n\n* A [commercial support](https://holon-platform.com/services) is available too.\n\n## Examples\n\nSee the [Holon Platform examples](https://github.com/holon-platform/holon-examples) repository for a set of example projects.\n\n## Contribute\n\nSee [Contributing to the Holon Platform](https://github.com/holon-platform/platform/blob/master/CONTRIBUTING.md).\n\n[![Gitter chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/holon-platform/contribute?utm_source=share-link\u0026utm_medium=link\u0026utm_campaign=share-link) \nJoin the __contribute__ Gitter room for any question and to contact us.\n\n## License\n\nAll the [Holon Platform](https://holon-platform.com) modules are _Open Source_ software released under the [Apache 2.0 license](LICENSE).\n\n## Artifacts list\n\nMaven _group id_: `com.holon-platform.jaxrs`\n\nArtifact id | Description\n----------- | -----------\n`holon-jaxrs-commons` | Common JAX-RS support classes\n`holon-jaxrs-client` | JAX-RS implementation of the core platform `RestClient` API\n`holon-jaxrs-client-reactor` | Reactive `RestClient` API JAX-RS implementation using Project Reactor\n`holon-jaxrs-server` | JAX-RS server-side __authentication and authorization__ features using platform core APIs and services, such as `Realm` and `AuthContext`\n`holon-jaxrs-swagger-core` | Core Swagger integration API and annotations\n`holon-jaxrs-swagger-v3` | [Swagger/OpenAPI](http://swagger.io) specification version 3 integration: JAX-RS API listing endpoints auto-configuration with `PropertyBox` support\n`holon-jaxrs-spring-boot-client` | `JaxrsClientBuilder` __Spring Boot__ auto-configuration\n`holon-jaxrs-spring-boot-jersey` | [Jersey](https://github.com/jersey) auto-configuration with automatic registration of Spring beans as JAX-RS resources \n`holon-jaxrs-spring-boot-resteasy` | [Resteasy](http://resteasy.jboss.org) auto-configuration with Spring integration\n`holon-starter-jersey` | Spring Boot JAX-RS _server_ starter using __Jersey__, __Tomcat__ and __Jackson__ as JSON provider\n`holon-starter-jersey-gson` | Spring Boot JAX-RS _server_ starter using __Jersey__, __Tomcat__ and __Gson__ as JSON provider\n`holon-starter-jersey-undertow` | Spring Boot JAX-RS _server_ starter using __Jersey__, __Undertow__ and __Jackson__ as JSON provider\n`holon-starter-jersey-undertow-gson` | Spring Boot JAX-RS _server_ starter using __Jersey__, __Undertow__ and __Gson__ as JSON provider\n`holon-starter-jersey-client` | Spring Boot JAX-RS _client_ starter using __Jersey__ and __Jackson__ as JSON provider\n`holon-starter-jersey-client-gson` | Spring Boot JAX-RS _client_ starter using __Jersey__ and __Gson__ as JSON provider\n`holon-starter-resteasy` | Spring Boot JAX-RS _server_ starter using __Resteasy__, __Tomcat__ and __Jackson__ as JSON provider\n`holon-starter-resteasy-gson` | Spring Boot JAX-RS _server_ starter using __Resteasy__, __Tomcat__ and __Gson__ as JSON provider\n`holon-starter-resteasy-undertow` | Spring Boot JAX-RS _server_ starter using __Resteasy__, __Undertow__ and __Jackson__ as JSON provider\n`holon-starter-resteasy-undertow-gson` | Spring Boot JAX-RS _server_ starter using __Resteasy__, __Undertow__ and __Gson__ as JSON provider\n`holon-starter-resteasy-client` | Spring Boot JAX-RS _client_ starter using __Resteasy__ and __Jackson__ as JSON provider\n`holon-starter-resteasy-client-gson` | Spring Boot JAX-RS _client_ starter using __Resteasy__ and __Gson__ as JSON provider\n`holon-jaxrs-bom` | Bill Of Materials\n`documentation-jaxrs` | Documentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholon-platform%2Fholon-jaxrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholon-platform%2Fholon-jaxrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholon-platform%2Fholon-jaxrs/lists"}