Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.gov.sp.fatec.web.controller;
- import java.util.Collection;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Service;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseStatus;
- import org.springframework.web.bind.annotation.RestController;
- import com.fasterxml.jackson.annotation.JsonView;
- import br.gov.sp.fatec.model.Usuario;
- import br.gov.sp.fatec.service.IServiceUsuario;
- import br.gov.sp.fatec.service.UsuarioServiceImpl;
- import br.gov.sp.fatec.view.View;
- @RestController
- @RequestMapping(value = "/usuario")
- public class UsuarioWebController {
- @Autowired
- IServiceUsuario serviceusu;
- public void setUsuarioService(IServiceUsuario serviceusu) {
- this.serviceusu = serviceusu;
- }
- @RequestMapping(value="usuario/{nome}")
- public ResponseEntity<Collection<Usuario>>listarUsuarioNome(@PathVariable("nome") String nome){
- return new ResponseEntity<Collection<Usuario>>(serviceusu.buscar(nome),HttpStatus.OK);
- }
- @RequestMapping(value = "usuario/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
- @JsonView({View.All.class, View.Alternative.class})
- // E possivel indicar o status por anotacao, mas sera fixo, sem possibilidade de tratar erros
- @ResponseStatus(HttpStatus.CREATED)
- public Usuario save(@RequestBody Usuario usuario, HttpServletRequest request,HttpServletResponse response) {
- usuario = serviceusu.salvar(usuario);
- response.addHeader("Location", request.getServerName() + ":" + request.getServerPort() +
- request.getContextPath() + "/usuario/getById?id=" + usuario.getId());
- return usuario;
- }
- }
- package br.gov.sp.fatec.model;
- import java.util.List;
- import javax.persistence.Column;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.Table;
- import com.fasterxml.jackson.annotation.JsonView;
- import br.gov.sp.fatec.view.View;
- @Entity
- @Table(name= "new")
- public class Usuario {
- @Id
- @GeneratedValue(strategy=GenerationType.IDENTITY)
- @Column(name="idusuario")
- @JsonView({View.All.class, View.Alternative.class})
- private long id;
- @Column(name="usuario_nome")
- private String nome;
- @Column(name="usuario_senha")
- private String senha;
- public Usuario() {
- super();
- this.id = id;
- this.nome = nome;
- this.senha = senha;
- }
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- public String getSenha() {
- return senha;
- }
- public void setSenha(String senha) {
- this.senha = senha;
- }
- }
- package br.gov.sp.fatec.repository;
- import java.util.List;
- import org.springframework.data.jpa.repository.Query;
- import org.springframework.data.repository.CrudRepository;
- import org.springframework.stereotype.Service;
- import br.gov.sp.fatec.model.Usuario;
- @Service
- public interface UsuarioRepository extends CrudRepository<Usuario, Long> {
- public Usuario findByNome(String nome);
- public Usuario findTop1ByNomeContains(String nome);
- public List<Usuario> findByIdGreaterThan(Long id);
- public List<Usuario> findByAutorizacoesNome(String nome);
- public List<Usuario> findByNomeContainsIgnoreCase(String nome);
- @Query("select u from Usuario u where u.nome like %?1%")
- public List<Usuario> buscaUsuario(String nome);
- }
- package br.gov.sp.fatec.service;
- import java.util.List;
- import br.gov.sp.fatec.model.Usuario;
- import br.gov.sp.fatec.repository.UsuarioRepository;
- public interface IServiceUsuario extends UsuarioRepository {
- public List<Usuario> buscar(String nome);
- public Usuario buscar(Long id);
- public List<Usuario> todos();
- public Usuario salvar(Usuario usuario);
- }
- package br.gov.sp.fatec.service;
- import java.util.ArrayList;
- import java.util.List;
- import javax.ws.rs.Consumes;
- import javax.ws.rs.Produces;
- import javax.ws.rs.core.MediaType;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.stereotype.Service;
- import br.gov.sp.fatec.model.Usuario;
- import br.gov.sp.fatec.repository.UsuarioRepository;
- @Service("IServiceUsuario")
- public class UsuarioServiceImpl implements IServiceUsuario {
- @Autowired
- private UsuarioRepository usuarioRepo;
- @Override
- public List<Usuario> buscar(String nome) {
- return usuarioRepo.findByNomeContainsIgnoreCase(nome);
- }
- @Override
- public Usuario buscar(Long id) {
- return usuarioRepo.findOne(id);
- }
- @Override
- public List<Usuario> todos() {
- List<Usuario> retorno = new ArrayList<Usuario>();
- for(Usuario usuario: usuarioRepo.findAll()) {
- retorno.add(usuario);
- }
- return retorno;
- }
- @Override
- public Usuario salvar(Usuario usuario) {
- return usuarioRepo.save(usuario);
- }
- /**
- * @return the usuarioRepo
- */
- public UsuarioRepository getUsuarioRepo() {
- return usuarioRepo;
- }
- /**
- * @param usuarioRepo the usuarioRepo to set
- */
- public void setUsuarioRepo(UsuarioRepository usuarioRepo) {
- this.usuarioRepo = usuarioRepo;
- }
- @Override
- public Usuario findByNome(String nome) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public Usuario findTop1ByNomeContains(String nome) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public List<Usuario> findByIdGreaterThan(Long id) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public List<Usuario> findByAutorizacoesNome(String nome) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public List<Usuario> findByNomeContainsIgnoreCase(String nome) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public List<Usuario> buscaUsuario(String nome) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public long count() {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public void delete(Long arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void delete(Usuario arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void delete(Iterable<? extends Usuario> arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void deleteAll() {
- // TODO Auto-generated method stub
- }
- @Override
- public boolean exists(Long arg0) {
- // TODO Auto-generated method stub
- return false;
- }
- @Override
- public Iterable<Usuario> findAll() {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public Iterable<Usuario> findAll(Iterable<Long> arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public Usuario findOne(Long arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public <S extends Usuario> S save(S arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public <S extends Usuario> Iterable<S> save(Iterable<S> arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:jpa="http://www.springframework.org/schema/data/jpa"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
- http://www.springframework.org/schema/data/jpa
- http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd">
- <context:component-scan base-package="br.gov.sp.fatec" />
- <jpa:repositories base-package="br.gov.sp.fatec.repository"/>
- <!-- Datasource -->
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://localhost:3306/sistec" />
- <property name="username" value="root" />
- <property name="password" value="fatec" />
- </bean>
- <bean id="entityManagerFactory"
- class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
- p:packagesToScan="br.gov.sp.fatec.model"
- p:dataSource-ref="dataSource"
- >
- <property name="jpaVendorAdapter">
- <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
- <property name="generateDdl" value="false" />
- <property name="showSql" value="true" />
- <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect"/>
- </bean>
- </property>
- </bean>
- <bean id="transactionManager"
- class="org.springframework.orm.jpa.JpaTransactionManager">
- <property name="entityManagerFactory" ref="entityManagerFactory" />
- </bean>
- <tx:annotation-driven />
- </beans>
- (Meu Web.xml)
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
- <web-app>
- <display-name>Spring Rest</display-name>
- <!-- Add Support for Spring -->
- <servlet>
- <servlet-name>spring</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext*.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>spring</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app>
- .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement