「Spring」@RestControllerと@PathVariableでPUT APIを実装する
書式
ResponseEntity<Object> updateProduct(@PathVariable(変数名) String 変数名,
@RequestBody クラス名 オブジェクト名)
使用例
@RestController
public class ProductServiceController {
//HashMap型pdRepoの宣言
private static Map<String, Product> pdRepo = new HashMap<>();
//リクエスト /products/{id}
@RequestMapping(value = "/products/{id}", method = RequestMethod.PUT)
public ResponseEntity<Object> updateProduct(@PathVariable("id") String id,
@RequestBody Product product) {
//@PathVariableでパス変数{id}を使用
pdRepo.remove(id);
product.setId(id);
//製品idとproductオブジェクトを更新
pdRepo.put(id, product);
//メッセージを返す
return new ResponseEntity<>("製品が正常に更新された", HttpStatus.OK);
}
}
@RestController
public class ProductServiceController {
//HashMap型pdRepoの宣言
private static Map<String, Product> pdRepo = new HashMap<>();
//リクエスト /products/{id}
@RequestMapping(value = "/products/{id}", method = RequestMethod.PUT)
public ResponseEntity<Object> updateProduct(@PathVariable("id") String id,
@RequestBody Product product) {
//@PathVariableでパス変数{id}を使用
pdRepo.remove(id);
product.setId(id);
//製品idとproductオブジェクトを更新
pdRepo.put(id, product);
//メッセージを返す
return new ResponseEntity<>("製品が正常に更新された", HttpStatus.OK);
}
}
@RestController public class ProductServiceController { //HashMap型pdRepoの宣言 private static Map<String, Product> pdRepo = new HashMap<>(); //リクエスト /products/{id} @RequestMapping(value = "/products/{id}", method = RequestMethod.PUT) public ResponseEntity<Object> updateProduct(@PathVariable("id") String id, @RequestBody Product product) { //@PathVariableでパス変数{id}を使用 pdRepo.remove(id); product.setId(id); //製品idとproductオブジェクトを更新 pdRepo.put(id, product); //メッセージを返す return new ResponseEntity<>("製品が正常に更新された", HttpStatus.OK); } }