Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.fariz.muhammad.restful.controller; import com.fariz.muhammad.restful.domain.Permission; import com.fariz.muhammad.restful.service.PermissionDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; 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.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; /** * * @author dsemuts */ @RestController @RequestMapping("/api") public class PermissionController { @Autowired private PermissionDao permissionDao; @RequestMapping(value = "/permission", method = RequestMethod.GET) public Page<Permission> findAll(Pageable pageable) { return permissionDao.findAll(pageable); } @RequestMapping(value = "/permissionWithoutPaging", method = RequestMethod.GET) public Iterable<Permission> findAll() { return permissionDao.findAll(); } @RequestMapping(value = "/permission", method = RequestMethod.POST) public void create(@RequestBody Permission x) { permissionDao.save(x); } @RequestMapping(value = "/permission/{id}", method = RequestMethod.GET) @ResponseBody public Permission findById(@PathVariable String id) { Permission permission = permissionDao.findOne(id); return permission; } @RequestMapping(value = "/permission/{id}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.OK) public void delete(@PathVariable String id) { Permission permission = permissionDao.findOne(id); permissionDao.delete(permission); } @RequestMapping(value = "/permission/{id}", method = RequestMethod.PUT) @ResponseStatus(HttpStatus.OK) public void update(@PathVariable String id, @RequestBody Permission permission) { Permission p = permissionDao.findOne(id); permission.setId(id); permissionDao.save(permission); } @RequestMapping(value = "/permission/validateValue/{value}", method = RequestMethod.GET) public Permission findByValue(@PathVariable String value) { return permissionDao.findByValue(value); } @RequestMapping(value = "/permission/validateLabel/{label}", method = RequestMethod.GET) public Permission findByLabel(@PathVariable String label) { return permissionDao.findByLabel(label); } }