Tuesday, July 3, 2018

Rest JSON Example by ejb 3


package xxxxxxxxxx;

import au.com.mobicast.jaxrs.model.Contact;
import au.com.mobicast.jaxrs.model.RSMessage;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Stateless
@Path("/contacts")
public class ContactFacadeREST extends AbstractFacade<Contact> {

    @PersistenceContext(unitName = "xxxxPU")
    private EntityManager em;

    public ContactFacadeREST() {
        super(Contact.class);
    }

    @POST
    @Override
    @Consumes({MediaType.APPLICATION_JSON})
    @Produces({MediaType.APPLICATION_JSON})
    public Response create(Contact entity) {
        super.create(entity);   
        return Response
                .ok()
                .entity(entity)
                .build();
     
    }

    @PUT
    @Path("{id}")
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public void edit(@PathParam("id") Long id, Contact entity) {
        super.edit(entity);
       
    }

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") Long id) {
        super.remove(super.find(id));
    }

    @GET
    @Path("{id}")
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public Contact find(@PathParam("id") Long id) {
        return super.find(id);
    }

    @GET
    @Override
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Contact> findAll() {
        return super.findAll();
    }

    @GET
    @Path("{from}/{to}")
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Contact> findByName(@PathParam("query") String query) {
        return super.findByName(query);
 
    }

    @GET
    @Path("count")
    @Produces(MediaType.TEXT_PLAIN)
    public String countREST() {
        return String.valueOf(super.count());
    }

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }
   
}



Database SQL
--------------------------------
create table `naxxx_projects`.CONTACT
(
ID BIGINT NOT NULL AUTO_INCREMENT primary key,
CONTACT_TYPE VARCHAR(15),
CONTACT_NAME VARCHAR(150),
CONTACT_TITLE VARCHAR(150),
CONTACT_MESG VARCHAR(255),
HOUSE_NUM VARCHAR(15),
APT_NUM VARCHAR(15),
ADDRESS_LINE1 VARCHAR(145),
ADDRESS_LINE2 VARCHAR(145),
ADDRESS_LINE3 VARCHAR(145),
COUNTRY_ID BIGINT,
COUNTRY_NAME VARCHAR(150),
STATES_ID BIGINT,
STATES_NAME VARCHAR(150),
CITY_ID BIGINT,
CITY_NAME VARCHAR(150),
PHONE_TYPE VARCHAR(15),
PHONE_COUNTRY_CODE VARCHAR(45),
PHONE_STATE_CODE VARCHAR(45),
PHONE_NUMBER VARCHAR(45),
MOBILE_NUMBER VARCHAR(45),
PHONE_EXT_NUMBER VARCHAR(45),
EMAIL VARCHAR(150),
EMAIL_TYPE VARCHAR(50),
WEBSITE VARCHAR(150),
TWITTER VARCHAR(45),
NOTE VARCHAR(255)
)

No comments:

Post a Comment