★ はじめに
環境構築メモにJavaのバージョンを書き忘れました。Java8になります。
こちらの記事も自分用のメモになります。
★ HelloWorld
最初なのでまず、画面に「HelloWorld」を表示させることから試してみます。
パッケージ構成は以下のようにしました。
SampleProjectApplication.javaと同じ階層にアプリケーション層としてappを作成。
さらにその下にcontrollerを作成しています。
package com.example.sample.app.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api/sample")
public class RestApiController {
@RequestMapping(value = "/hello")
public String index() {
return "Hello World!";
}
}
プロジェクトを右クリック ⇒ [実行(R)] ⇒ [4 Spring Boot アプリケーション] の順に選択。
コンソールにログが出力されます。
http://localhost:8080/api/sample/helloにアクセスします。
無事表示されました。
@RequestMappingの()内の記載ですが、valueを省略したり、pathと記載してもOKみたいですね。
★ HTTPメソッドの実装
HTTPメソッドがGETで、投げると誕生日石(月、名前、色)の情報を返却するメソッドを実装します。
@RequestMappingのRequestMethodはGETを指定します。
package com.example.sample.app.controller;
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.RestController;
import com.example.sample.app.resource.BirthStone;
@RestController
@RequestMapping("api/sample")
public class RestApiController {
@RequestMapping(value = "/getBirthStone", method = RequestMethod.GET)
@ResponseBody
public BirthStone getBirthStone() {
BirthStone birthStone = new BirthStone("2月", "アメジスト", "紫");
return birthStone;
}
}
appの下にresourceを作成し、誕生日石の情報を返却するためにBirthStoneクラスを作成します。
package com.example.sample.app.resource;
import java.io.Serializable;
public class BirthStone implements Serializable {
private static final long serialVersionUID = 1L;
/** 月 */
private String month;
/** 名前 */
private String name;
/** 色 */
private String color;
public BirthStone (String month, String name, String color) {
this.month = month;
this.name = name;
this.color = color;
}
// getter/setter記載略
}
Advanced REST ClientでAPIを呼び出した結果。
レスポンスが得られました。
HTTPメソッドがPOSTの場合は、RequestMethod=POSTと記述します。


