Files
java-tutorials/spring-5/src/main/java/com/baeldung/restdocs/CRUDController.java
T

63 lines
2.1 KiB
Java
Raw Normal View History

2018-01-07 17:05:18 +02:00
package com.baeldung.restdocs;
2016-05-12 00:40:29 -05:00
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import java.util.ArrayList;
import java.util.List;
2018-01-08 21:13:31 +02:00
import javax.validation.Valid;
2016-05-12 00:40:29 -05:00
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
2018-01-08 21:13:31 +02:00
import org.springframework.validation.BindingResult;
2018-01-07 17:05:18 +02:00
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
2016-05-12 00:40:29 -05:00
import org.springframework.web.bind.annotation.PathVariable;
2018-01-07 17:05:18 +02:00
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
2016-05-12 00:40:29 -05:00
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/crud")
public class CRUDController {
2016-07-26 11:34:56 +03:00
2018-01-07 17:05:18 +02:00
@GetMapping
2018-01-08 21:13:31 +02:00
public List<CrudInput> read(@RequestBody @Valid CrudInput crudInput) {
List<CrudInput> returnList = new ArrayList<>();
2016-07-26 11:34:56 +03:00
returnList.add(crudInput);
return returnList;
}
@ResponseStatus(HttpStatus.CREATED)
2018-01-07 17:05:18 +02:00
@PostMapping
2018-01-08 21:13:31 +02:00
public HttpHeaders save(@RequestBody @Valid CrudInput crudInput) {
2016-07-26 11:34:56 +03:00
HttpHeaders httpHeaders = new HttpHeaders();
2018-01-07 17:05:18 +02:00
httpHeaders.setLocation(linkTo(CRUDController.class).slash(crudInput.getId()).toUri());
2016-07-26 11:34:56 +03:00
return httpHeaders;
}
2018-01-08 21:13:31 +02:00
@DeleteMapping("/{id}")
2016-07-26 11:34:56 +03:00
@ResponseStatus(HttpStatus.OK)
2018-01-07 17:05:18 +02:00
HttpHeaders delete(@PathVariable("id") long id) {
return new HttpHeaders();
2016-07-26 11:34:56 +03:00
}
2018-01-08 21:13:31 +02:00
@PutMapping("/{id}")
2016-07-26 11:34:56 +03:00
@ResponseStatus(HttpStatus.ACCEPTED)
void put(@PathVariable("id") long id, @RequestBody CrudInput crudInput) {
}
2018-01-08 21:13:31 +02:00
@PatchMapping("/{id}")
2018-01-07 17:05:18 +02:00
public List<CrudInput> patch(@PathVariable("id") long id, @RequestBody CrudInput crudInput) {
List<CrudInput> returnList = new ArrayList<CrudInput>();
crudInput.setId(id);
returnList.add(crudInput);
return returnList;
2016-07-26 11:34:56 +03:00
}
2016-05-12 00:40:29 -05:00
}