maugern/jersey-skeleton

View on GitHub
src/main/java/fr/maugern/skeleton/web/UserViews.java

Summary

Maintainability
A
0 mins
Test Coverage
package fr.maugern.skeleton.web;

import fr.maugern.skeleton.api.BDDFactory;
import fr.maugern.skeleton.api.User;
import fr.maugern.skeleton.api.UserDao;
import org.glassfish.jersey.server.mvc.Template;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;

@Path("/user")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_HTML)
public class UserViews {
    private static UserDao dao = BDDFactory.getDbi().open(UserDao.class);

    @GET
    @Template
    public List<User> getAll() {
        return dao.all();
    }

    @GET
    @Path("/{alias}")
    public User getUserBdd(@PathParam("alias") String alias) {
        User user;
        if (alias.isEmpty())
            user = User.getAnonymousUser();
        else
            user = dao.findByAlias(alias);
        if (user == null)
            throw new WebApplicationException(Response.Status.NOT_FOUND);
        return user;
    }

}