HelloController.java
package com.yeony.web.springbootwebproject.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello";
}
}
HelloControllerTest.java
package com.yeony.web.springbootwebproject.web;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = HelloController.class)
public class HelloControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void hello가_리턴된다() throws Exception {
String hello="hello";
mvc.perform(MockMvcRequestBuilders.get("/hello"))
.andExpect(status().isOk())
.andExpect(content().string(hello));
}
}
Test 코드를 생성하는 단축키는
command + shitf + T입니다.
프로젝트 할 때
테스트코드로 먼저 검증 후,
정말 못 믿겠다 싶으면 프로젝트를 실행해보라고 합니다.
hello_가 리턴된다라는 함수를 실행시키고
local8080:/hello 로 접속하면
아래와 같이 hello가 출력됩니다.
HTTP GET, POST 간략하게 개념정리
(1) GET
: http://localhose:8080/http/get?id=1%password=123
여기서 주목해야될 부분은 get 다음부터입니다.
위 코드에서
http://localhost:8080/hello로 GetMapping을 하였고,
helloController에서는 hello 문자열을 return해줍니다.
그래서 localhost:8080/hello에서 hello라는 문자열이 보이는 거구요!
참고로 @GetMapping은 메소드 유형 없이 주소만 지정해주면 됩니다.
참고서적 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
'여니의 프로그래밍 study > Spring & Spring Boot' 카테고리의 다른 글
[스프링부트] 롬북(lombok)의 개념, 설치 방법 | maven repository (0) | 2022.03.21 |
---|---|
[스프링부트] 롬북 플러그인 설치 & compile, compileOnly,implementation (0) | 2022.03.21 |
[Error] No tests found for given includes: (0) | 2022.03.20 |
[스프링부트] RestController import 인식이 안 될때 (0) | 2022.03.20 |
[스프링부트] 어노테이션 모음 (0) | 2022.03.20 |