init commit (#11767)
This commit is contained in:
parent
1bf44ff8ef
commit
61dd13d64e
|
@ -1,5 +1,6 @@
|
||||||
package com.baeldung.boot.noconverterfound.controller;
|
package com.baeldung.boot.noconverterfound.controller;
|
||||||
|
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
@ -18,4 +19,14 @@ public class StudentRestController {
|
||||||
return ResponseEntity.ok(new Student(id, "John", "Wiliams", "AA"));
|
return ResponseEntity.ok(new Student(id, "John", "Wiliams", "AA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/student/v2/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Student> getV2(@PathVariable("id") int id) {
|
||||||
|
return ResponseEntity.ok(new Student(id, "Kevin", "Cruyff", "AA"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/student/v3/{id}", produces = MediaType.APPLICATION_XML_VALUE)
|
||||||
|
public ResponseEntity<Student> getV3(@PathVariable("id") int id) {
|
||||||
|
return ResponseEntity.ok(new Student(id, "Robert", "Miller", "BB"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
@ -46,7 +47,26 @@ public class NoConverterFoundIntegrationTest {
|
||||||
this.mockMvc.perform(get(url))
|
this.mockMvc.perform(get(url))
|
||||||
.andExpect(status().isOk())
|
.andExpect(status().isOk())
|
||||||
.andExpect(jsonPath("$.firstName").value("John"));
|
.andExpect(jsonPath("$.firstName").value("John"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenJsonConverterIsFound_thenReturnResponse() throws Exception {
|
||||||
|
String url = "/api/student/v2/1";
|
||||||
|
|
||||||
|
this.mockMvc.perform(get(url))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().json("{'id':1,'firstName':'Kevin','lastName':'Cruyff', 'grade':'AA'}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenConverterNotFound_thenThrowException() throws Exception {
|
||||||
|
String url = "/api/student/v3/1";
|
||||||
|
|
||||||
|
this.mockMvc.perform(get(url))
|
||||||
|
.andExpect(status().isInternalServerError())
|
||||||
|
.andExpect(result -> assertThat(result.getResolvedException()).isInstanceOf(HttpMessageNotWritableException.class))
|
||||||
|
.andExpect(result -> assertThat(result.getResolvedException()
|
||||||
|
.getMessage()).contains("No converter for [class com.baeldung.boot.noconverterfound.model.Student] with preset Content-Type"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue