스프링 부트 개념과 활용
4. 스프링 부트 활용
포스팅 참조 정보
GitHub
공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다
해당 포스팅에 대한 내용의 GitHub 주소
실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다
freespringlecture/springboot-concept-uses
백기선님의 스프링 부트 개념과 활용 강의 내용 정리. Contribute to freespringlecture/springboot-concept-uses development by creating an account on GitHub.
github.com
해당 포스팅 참고 인프런 강의
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급 프레임워크 및 라이브러리 Spring Spring Boot 온라인 강의
www.inflearn.com
실습 환경
- Java Version: Java 11
- SpringBoot Version: 2.1.2.RELEASE
9. 스프링 웹 MVC 2부: HttpMessageConverters
Spring Boot Reference Documentation
This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe
docs.spring.io
SpringFrameWork에서 제공하는 인터페이스 SpringMVC 의 일부분
HTTP 요청 본문을 객체로 변경하거나, 객체를 HTTP 응답 본문으로 변경할 때 사용
{“username”:”keesun”, “password”:”123”} <-> User
같이 사용되는 Spring Annotation
@ReuqestBody
@ResponseBody
@RestController
을 사용하면 생략해도됨 자동으로 설정 뷰 네임 리졸버를 안타고 바로 MessageConverter 타고 응답 본문으로 내용이 들어감@Controller
이면 반드시 붙여야됨 붙이지 않으면 뷰 네임 리졸버에서 return 이름에 해당되는 뷰 네임 리졸버를 찾으려고 시도함
예제코드 실습
먼저 테스트 코드를 작성하고 테스트 하면서 로직 추가
1. 테스트 코드 작성
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
MockMvc mockMvc;
@Test
public void createUser_JSON() throws Exception {
String userJson = "{\"username\":\"freelife\", \"password\":\"123\"}";
//요청을 만드는 단계
mockMvc.perform(post("/users/create")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.content(userJson))
//응답 확인단계
.andExpect(status().isOk())
.andExpect(jsonPath("$.username", is(equalTo("freelife"))))
.andExpect(jsonPath("$.password", is(equalTo("123"))));
}
}
2. 컨트롤러 코드 작성
@RestController
public class UserController {
@GetMapping("/hello")
public String hello(){
return "hello";
}
@PostMapping("/users/create")
public User create(@RequestBody User user){
return user;
}
}
3. User 객체 클래스 생성
public class User {
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
'개발강의정리 > Spring' 카테고리의 다른 글
[스프링 부트 개념과 활용] 4-9. 스프링 웹 MVC 4부: 정적 리소스 지원 (0) | 2019.11.08 |
---|---|
[스프링 부트 개념과 활용] 4-9. 스프링 웹 MVC 3부: ViewResolve (0) | 2019.11.07 |
[스프링 부트 개념과 활용] 4-9. 스프링 웹 MVC 1부: 소개 (0) | 2019.11.05 |
[스프링 부트 개념과 활용] 4-8. Spring-Boot-Devtools (0) | 2019.10.31 |
[스프링 부트 개념과 활용] 4-7. 테스트 유틸 (0) | 2019.10.30 |
댓글