LoginSignup
1
2

More than 3 years have passed since last update.

SpringでJsonデータを送受信するAPI作成

Posted at
  • Java 8
  • Eclipse Version: 2020-09
  • Windows 10

久しぶりにSpringでのお仕事でした。
Springにて、APIをひとつ作成するというもの。

備忘のために、ひな形作成までをまとめます。
ちなみに、Spring Boot は初めてでした。

仕様

Jsonでポストされたデータを受け取り、いろいろやってJsonデータを返します。

開発環境

プロジェクト作成

  • 「ファイル > 新規 > プロジェクト」で新規プロジェクトウィザーとを開く Spring Boot > Spring スターター・プロジェクトを選択

create.png

  • Javaバージョンは8に
  • 依存関係では、 Web->Spring Webを選択
  • 完了

実装:データ定義

  • 入力データ、出力データを定義したクラス(InputData, OutputData)を作成
InputData
package jp.co.sankosc.sample;

public class InputData {
    public int id;
    public String value;
}
OutputData
package jp.co.sankosc.sample;

import java.util.Date;

public class OutputData {
    public int id;
    public String value;
    public Date date;
}

実装:処理

  • ApiControllerクラスを作成
  • クラスに@RestControllerアノテーションを定義
  • メソッド定義(今回はpostというメソッド)
  • メソッドに@RequestMappingアノテーションでuriを定義
  • 入力パラメータを@RequestBodyアノテーションで定義
ApiController
package jp.co.sankosc.sample;

import java.util.Date;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ApiController {

    @RequestMapping(value="/post", method=RequestMethod.POST)
    public OutputData post(@RequestBody InputData input) {
        OutputData output = new OutputData();
        output.id = input.id;
        output.value = input.value;
        output.date = new Date();
        return output;
    }

}

実行

  • プロジェクトを選択して
  • 実行 > 実行 > Spring Bootアプリケーション

確認

確認コマンド
$postData = @{id=123;value="InputData.Value"} | ConvertTo-Json -Compress
Invoke-WebRequest -Method Post -Uri http://localhost:8080/post -Body $postData -ContentType application/json
実行結果
StatusCode        : 200
StatusDescription :
Content           : {"id":123,"value":"InputData.Value","date":"2020-09-28T06:45:30.925+00:00"}

Jarファイル生成

  • プロジェクトを選択して
  • 実行 > 実行 > Maven Install
  • targetの下にjarファイルが作成される

サーバーでの実行

java -jar [.jarファイル]
  • これをスクリプトにして、サービス登録する
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2