@GET
@Path("/user/{id}")
@Produces(MediaType.APPLICATION_JSON)
public CompletionStage<Response> getUser(@PathParam("id") String id) {
return userService.getUser(id)
.thenApply(user -> Response.ok(user).build())
.exceptionally(e -> Response.serverError().build());
}
@GET
@Path("/admin/user/{id}")
@RolesAllowed("admin")
@Produces(MediaType.APPLICATION_JSON)
public Response getAdminUser(@PathParam("id") String id) {
}
@Provider
public class CustomExceptionHandler implements ExceptionMapper<Throwable> {
@Override
public Response toResponse(Throwable exception) {
}
}
<dependency>
<groupId>com.example</groupId>
<artifactId>accord-api</artifactId>
<version>1.0.0</version>
</dependency>
public class Application extends javax.ws.rs.core.Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<>();
classes.add(UserResource.class);
return classes;
}
}
properties
# application.properties
server.port=8080
logging.level=INFO
# database.properties
database.url=jdbc:mysql://localhost:3306/mydb
database.username=root
database.password=123456