[JAVA] ◆ Essayez d'appeler l'API au format SpringBoot + gradle REST + JSON

★ Présentation

J'ai oublié d'écrire la version Java dans le mémo de construction de l'environnement. Ce sera Java 8. Cet article est aussi un mémo pour moi.

★ HelloWorld Comme c'est la première fois, je vais l'essayer en affichant "Hello World" à l'écran. La structure du package est la suivante.

キャプチャ.PNG

Créez ʻapp` comme couche d'application dans la même hiérarchie que SampleProjectApplication.java. De plus, «contrôleur» est créé en dessous.

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!";
    }
}

Faites un clic droit sur le projet ⇒ [Exécuter (R)][4 Spring Boot Application]. Le journal est sorti sur la console.

Allez sur http: // localhost: 8080 / api / sample / hello.

WS000004.JPG

Il a été affiché en toute sécurité.

Il est décrit dans () de @ RequestMapping, mais il semble correct d'omettre valeur ou de la décrire comme chemin.

★ Implémentation de la méthode HTTP

La méthode HTTP est GET, et lorsqu'elle est lancée, elle implémente une méthode qui renvoie des informations sur la pierre d'anniversaire (mois, nom, couleur). RequestMethod of @ RequestMapping spécifie GET.

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("février", "améthyste", "violet");
        return birthStone;
    }
}

Créez une ressource sous ʻapp et une classe BirthStone` pour renvoyer les informations de la pierre d'anniversaire.

BirthStone.java


package com.example.sample.app.resource;

import java.io.Serializable;

public class BirthStone implements Serializable {

    private static final long serialVersionUID = 1L;

    /**Mois*/
    private String month;

    /**Nom*/
    private String name;

    /**Couleur*/
    private String color;

    public BirthStone (String month, String name, String color) {
        this.month = month;
        this.name = name;
        this.color = color;
    }
    
    // getter/description du setter omise
}

Résultat de l'appel de l'API dans le client REST avancé.

cap_20190409_0001.PNG

J'ai une réponse.

Si la méthode HTTP est «POST», écrivez «RequestMethod = POST».

Recommended Posts

◆ Essayez d'appeler l'API au format SpringBoot + gradle REST + JSON
Essayez d'utiliser l'API au format JSON en Java