Faites une requête Json dans le test du contrôleur à l'aide de MockMvc de Spring.
@PostMapping(value = "hoge", consumes = MediaType.APPLICATION_JSON_VALUE)
public void hoge(@RequestBody Hoge hoge) {
    System.out.println("hoge");
}
Jackson comme dépendanceJackson est utilisé pour la conversion entre Java et Json. Voici un exemple de Maven.
<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.6.1</version>
</dependency>
Voici un exemple de Spock.
def "Demande de publication Json"() {
    setup:
    //Convertir des objets au format Json dans Jackson
    def hoge = new Hoge();
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(hoge);
    expect:
    mockMvc.perform(MockMvcRequestBuilders
        .post('/hoge')
        //Paramètre de type de contenu
        .contentType(MediaType.APPLICATION_JSON)
        //Paramètres Json
        .content(json)
    ).andExpect(
        MockMvcResultMatchers.status().is(HttpStatus.OK.value()),
    )
}
Recommended Posts