Giter Club home page Giter Club logo

resteasy-spring-boot's Introduction

Build Status Codacy Badge Codacy Coverage Maven Central License

RESTEasy Spring Boot Starter

There was no RESTEasy Spring Boot starter out there, so PayPal team decided to create one and share it with the community.

This Spring Boot starter is fully functional, has ZERO PayPal specific code on it, and can be used normally by any regular Spring Boot application that wants to have REST endpoints and prefers RESTEasy as the JAX-RS implementation.

Also, this RESTEasy Spring Boot starter integrates with Spring as expected, which means every JAX-RS REST resource that is also a Spring bean will be automatically auto-scanned, integrated, and available.

Features

  • Enables RESTEasy for Spring Boot applications
  • Supports JAX-RS providers, resources and sub-resources as Spring beans
  • Supports automatic discovery and registration of multiple JAX-RS Application classes as Spring beans
  • Supports optional registration of JAX-RS Application classes via class-path scanning, or manually, via configuration properties (or YAML) file
  • Leverages and supports RESTEasy configuration
  • Supports RESTEasy Asynchronous Job Service

Quick start

Adding POM dependency

Add the Maven dependency below to your Spring Boot application pom file.

<dependency>
   <groupId>com.paypal.springboot</groupId>
   <artifactId>resteasy-spring-boot-starter</artifactId>
   <version>2.3.4-RELEASE</version>
   <scope>runtime</scope>
</dependency>

Registering JAX-RS application classes

Just define your JAX-RS application class (a subclass of Application) as a Spring bean, and it will be automatically registered. See the example below. See section JAX-RS application registration methods in How to use RESTEasy Spring Boot Starter for further information.

package com.sample.app;

import org.springframework.stereotype.Component;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@Component
@ApplicationPath("/sample-app/")
public class JaxrsApplication extends Application {
}

Registering JAX-RS resources and providers

Just define them as Spring beans, and they will be automatically registered. Notice that JAX-RS resources can be singleton or request scoped, while JAX-RS providers must be singletons.

Further information

See How to use RESTEasy Spring Boot Starter.

Release notes

See RESTEasy Spring Boot starter release notes.

Projects

  • sample-app: A simple Spring Boot application that exposes JAX-RS endpoints as Spring beans using RESTEasy via this RESTEasy Spring Boot starter.
  • resteasy-spring-boot-starter: The RESTEasy Spring Boot Starter project.
  • resteasy-spring-boot-starter-test: Integration tests for the RESTEasy Spring Boot Starter project.

Reporting an issue

Please open an issue using our GitHub issues page.

Contributing

You are very welcome to contribute to RESTEasy Spring Boot starter! Read our Contribution guidelines.

Contacting us

To contact us, please send an email to [email protected].

License

This project is licensed under the Apache 2 License.

resteasy-spring-boot's People

Contributors

asoldano avatar fabiocarvalho777 avatar fehmer avatar hantsy avatar

Watchers

 avatar  avatar  avatar

Forkers

dalalsunil1986

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.