// Path: src/main/java/com/boaglio/casadocodigo/greendogdelivery/domain/Item.java
// @Entity
// public class Item  {
// 
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.IDENTITY)
// 	private Long id;
// 
//     @NotNull
//     @Length(min=2, max=30,message="O tamanho do nome deve ser entre {min} e {max} caracteres")
// 	private String nome;
// 
//     @NotNull
//     @Min(value=20,message="O valor mínimo deve ser {value} reais")
// 	private Double preco;
// 	
// 	public Item() {}
// 
// 	public Item(Long id,String nome,Double preco) {
// 		super();
// 		this.id = id;
// 		this.nome = nome;
// 		this.preco = preco;
// 	}
// 
// 	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 Double getPreco() {
// 		return preco;
// 	}
// 
// 	public void setPreco(Double preco) {
// 		this.preco = preco;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ( (id == null) ? 0 : id.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Item other = (Item) obj;
// 		if (id == null) {
// 			if (other.id != null)
// 				return false;
// 		} else if (!id.equals(other.id))
// 			return false;
// 		return true;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Item [id=" + id + ", nome=" + nome + ", preco=" + preco + "]";
// 	}
// 
// }
// 
// Path: src/main/java/com/boaglio/casadocodigo/greendogdelivery/repository/ItemRepository.java
// @RepositoryRestResource(collectionResourceRel = "itens",path = "itens")
// public interface ItemRepository extends JpaRepository<Item, Long> {
//  
// }


import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.boaglio.casadocodigo.greendogdelivery.domain.Item;
import com.boaglio.casadocodigo.greendogdelivery.repository.ItemRepository;

package com.boaglio.casadocodigo.greendogdelivery.controller;




@Controller
@RequestMapping("/itens")
public class ItemController {

	private final ItemRepository itemRepository;
	private final String ITEM_URI = "itens/";

	public ItemController(ItemRepository itemRepository) {
		this.itemRepository = itemRepository;
	}

	@GetMapping("/")
	public ModelAndView list() {
// Path: src/main/java/com/boaglio/casadocodigo/greendogdelivery/domain/Item.java
// @Entity
// public class Item  {
// 
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.IDENTITY)
// 	private Long id;
// 
//     @NotNull
//     @Length(min=2, max=30,message="O tamanho do nome deve ser entre {min} e {max} caracteres")
// 	private String nome;
// 
//     @NotNull
//     @Min(value=20,message="O valor mínimo deve ser {value} reais")
// 	private Double preco;
// 	
// 	public Item() {}
// 
// 	public Item(Long id,String nome,Double preco) {
// 		super();
// 		this.id = id;
// 		this.nome = nome;
// 		this.preco = preco;
// 	}
// 
// 	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 Double getPreco() {
// 		return preco;
// 	}
// 
// 	public void setPreco(Double preco) {
// 		this.preco = preco;
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ( (id == null) ? 0 : id.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		Item other = (Item) obj;
// 		if (id == null) {
// 			if (other.id != null)
// 				return false;
// 		} else if (!id.equals(other.id))
// 			return false;
// 		return true;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Item [id=" + id + ", nome=" + nome + ", preco=" + preco + "]";
// 	}
// 
// }
// 
// Path: src/main/java/com/boaglio/casadocodigo/greendogdelivery/repository/ItemRepository.java
// @RepositoryRestResource(collectionResourceRel = "itens",path = "itens")
// public interface ItemRepository extends JpaRepository<Item, Long> {
//  
// }


// Path: src/main/java/com/boaglio/casadocodigo/greendogdelivery/controller/ItemController.java
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.boaglio.casadocodigo.greendogdelivery.domain.Item;
import com.boaglio.casadocodigo.greendogdelivery.repository.ItemRepository;


package com.boaglio.casadocodigo.greendogdelivery.controller;




@Controller
@RequestMapping("/itens")
public class ItemController {

	private final ItemRepository itemRepository;
	private final String ITEM_URI = "itens/";

	public ItemController(ItemRepository itemRepository) {
		this.itemRepository = itemRepository;
	}

	@GetMapping("/")
	public ModelAndView list() {
		Iterable<Item> itens = this.itemRepository.findAll();