はじめに
Javaのフレームワーク「Spring」を使って開発を行っています。
今回はその2になります。前回はこちらから。
目次
REST APIとは?
REST(Representational State Transfer)は、ウェブアーキテクチャの設計原則を指し、RESTful APIはこの原則に従って設計されたウェブAPIの一種になります。
API(Application Programming Interface)は、ソフトウェアアプリケーション同士がコミュニケーションを取るための一連のルール(インターフェースの仕様)になります。
REST APIでは、HTTPで定義するGET、POST、PUT、DELETEなどのリクエストでデータを操作します。
GET : リソースの取得(例: データの取得)
POST : リソースの作成(例: データの送信)
PUT : リソースの更新(例: データの更新)
DELETE : リソースの削除(例: データの削除)
クライアントがAPIを使用してリクエストを送信すると、サーバーはJSON形式のデータを返します。
以下のようにキー(name,age)と値(John Smith,30)を持っています。
{
"name": "John Smith",
"age": 30,
"city": "New York"
}
APIの作成
GET、POSTを中心に以下のようなコードを作成しました。
@RestController
public class RequestController {
@Autowired
private CartService cartService;
@GetMapping("/cart")
public ResponseEntity<List<Cart>> getCartItems() {
List<Cart> cartItems = cartService.getAllCarts();
return ResponseEntity.ok(cartItems);
}
@PostMapping("/cart")
public ResponseEntity<Integer> addCartItem(@RequestParam("itemId") Integer itemId) {
cartService.addToCart(itemId);
return ResponseEntity.ok(itemId);
}
}
解説します。
上の@GetMapping("/cart")
では/cartにアクセスした時にCart(カート)のアイテムを取得するコードになります。
Postmanで動作確認しました。
以下の画像のようにデータベースに登録したデータを取得することができました。
(Postmanは、API開発者やテストエンジニアがAPIをテストするためのツールです。)
下の@PostMapping("/cart")
では/cartにView画面から送信処理があったときCart(カート)に追加するコードになります。
今は送信時のデータを返り値としています。
2
というデータを送信したので以下の画面に表示しているように2
が帰ってきています。
最後に
APIを作ってみたの回でした。
Googleにも便利なAPIがあるようなので調べて使ってみたいと思います!
参考資料