This is example project of REST and SOAP API.
RESTful interface enables of finding/adding/editing/deleting users and user's contacts.
For SOAP WebService it's possible to finding users by an email address.
To run app after cloning repository, you should first build and package project with command:
mvn clean package
It will generate classes for SOAP WebService (they generates automatically with usage of jaxb2-maven-plugin).
After that run:
mvn spring-boot:run
App will start and will be available at http://localhost:8080.
- getAllUsers - GET - retrieves all users - ( /users )
- getUser - GET - retrieves a specific user by id - ( /users/{id} )
- createUser - POST - creates a new user - ( /users )
- updateUser - PUT - updates user with id - ( /users/{id} )
- deleteUser - DELETE - deletes user with id - ( /users/{id} )
- findPeopleByBirthDateBetween - GET - finds people with a birthday in the provided scope - ( /users/findByBirthDayBetween?fromDate=?&toDate=? )
- findPeopleByEmail - GET - finds people with an exact mail (e.g. test@test.com) or part of mail when parametr starts and ends with astersik * - ( /users/findByEmail?email=? )
- getContactsOfUser - GET - retrieves all user's contacts - ( /users/{id}/contacts )
- addNewContactForUser - POST - add a new contact for user - ( /users/{id}/contacts )
- updateContactOfUser - PUT - updates a contact of user - ( /users/{id}/contacts/updateContact?value=? )
- deleteContactOfUser - DELETE - deletes a contact of user - ( /users/{id}/contacts/deleteContact?value=? )
Import wsdl file when application is running from http://localhost:8080/soap-ws/users.wsdl
- findPeopleByEmail - finds people with an exact mail (e.g. test@test.com) or part of mail when parametr starts and ends with astersik *
- Java 8
- Spring Boot
- Spring Data
- H2
- Lombok
- Guava
- AssertJ