null
控制器层
@PostMapping("/api/todos")
public ResponseEntity<ResponseTodoDto> createTodo(@RequestBody RequestTodoDto requestTodoDto){
final ResponseTodoDto savedResponseTodoDto = todoService.createTodo(requestTodoDto);
return ResponseEntity.ok().body(savedResponseTodoDto);
}
测试代码
@Test
public void Todo_등록_API_Test() throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
RequestTodoDto requestTodoDto = new RequestTodoDto();
requestTodoDto.setContent("테스트 코드 작성하기");
ResponseTodoDto responseTodoDto = new ResponseTodoDto();
responseTodoDto.setId(1L);
responseTodoDto.setContent("테스트 코드 작성하기");
responseTodoDto.setCreateDate(LocalDateTime.now());
responseTodoDto.setUpdateDate(LocalDateTime.now());
// given
given(todoService.createTodo(requestTodoDto)).willReturn(responseTodoDto);
MvcResult result = mockMvc.perform(post("/api/todos")
.content(objectMapper.writeValueAsString(requestTodoDto))
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andReturn();
/** empty **/
log.debug(result.getResponse().getContentAsString());
}
+) TodoService 并且TodoService @Service批注标记在代码上
喜欢〜
@Service
public class TodoService { ... }
@Transactional
ResponseTodoDto createTodo(final RequestTodoDto dto){
Todo todo = Todo.builder()
.content(dto.getContent())
.build();
Todo savedTodo = todoRepository.save(todo);
return modelMapperUtils.map(savedTodo, ResponseTodoDto.class);
}