「Spring」@RestControllerと@PathVariableでPUT APIを実装する

2021年9月3日

書式
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);
   }   
}

 

Java

Posted by arkgame