◆ SpringBoot + gradle REST + JSON 형식의 API를 호출해보십시오

★ 소개



환경 구축 메모에 Java 버전을 쓰는 것을 잊었습니다. Java8이 됩니다.
이 기사도 자신의 메모가됩니다.

★ HelloWorld



처음이므로 먼저 화면에 "HelloWorld"를 표시시키는 것부터 시도해 보겠습니다.
패키지 구성은 다음과 같이 했습니다.



SampleProjectApplication.java와 같은 계층에 어플리케이션 계층으로서 app를 작성.
또한 그 아래에 controller를 작성하고 있습니다.

RestApiController.java
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이고, 던지면 생일 돌(월, 이름, 색)의 정보를 반환하는 메서드를 구현합니다.@RequestMappingRequestMethodGET 를 지정합니다.

RestApiController.java
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クラス를 만듭니다.

BirthStone.java
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 라고 기술합니다.

좋은 웹페이지 즐겨찾기