Spring Boot 構建 Restful API 和測試
建立工程時已經選擇了 web 模組,所以可以使用 springmvc。
註解介紹
@Controller:修飾class,用來建立處理http請求的物件
@RestController:Spring4之後加入的註解,原來在@Controller中返回json需要@ResponseBody來配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,預設返回json格式。
controller 例子
這裡使用restful controller ,返回的內容為 json
@RestController
@RequestMapping(value="/users")
public class MyRestController {
@RequestMapping(value="/{user}", method= RequestMethod.GET)
public User getUser(@PathVariable Long user) {
// ...
User user1 = new User();
user1.setId(user);
user1.setName("liu");
user1.setAge(20);
return user1;
}
@RequestMapping(value="/{user}", method=RequestMethod.DELETE)
public User deleteUser(@PathVariable Long user) {
// ...
User user1 = new User();
user1.setId(user);
user1.setName("liu");
return user1;
}
}
單元測試
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyRestControllerTest {
@Autowired
private TestRestTemplate restTemplate;
@Autowired
private MyRestController myRestController;
@Test
public void userTest() {
User user1 = restTemplate.getForObject("/users/2", User.class);
System.out.println(user1.toString());
User user = this.myRestController.getUser(1L);
System.out.println(user.toString());
}
}
執行程式
啟動 web 應用,執行命令
mvn spring-boot:run
在瀏覽器上輸入 http://localhost:8080/users/1
可以看到返回結果
{"id":1,"name":"liu","age":20}
參考資料
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
相關文章
- Spring Boot實戰:Restful API的構建Spring BootRESTAPI
- spring boot構建restful服務Spring BootREST
- Spring boot restful api demoSpring BootRESTAPI
- 使用Golang和MongoDB構建 RESTful APIGolangMongoDBRESTAPI
- 企業分散式微服務雲SpringCloud SpringBoot mybatis (三)Spring Boot構建RESTful API與單元測試分散式微服務GCCloudSpring BootMyBatisRESTAPI
- 基於 Spring Boot 2.0 構建一個 RESTful WebServiceSpring BootRESTWeb
- 使用JBang構建Spring Boot Rest API教程Spring BootRESTAPI
- 使用Spring Boot和GraphQL構建靈活的API服務Spring BootAPI
- Spring、Spring Boot和TestNG測試指南 – 共享測試配置Spring Boot
- 使用ASP.NET Web API構建RESTful APIASP.NETWebAPIREST
- Spring Boot 中 10 行程式碼構建 RESTful 風格應用Spring Boot行程REST
- Spring Boot中使用Swagger2構建RESTful APIs介紹Spring BootSwaggerRESTAPI
- Spring Boot入門系列(二十)快速打造Restful API 介面Spring BootRESTAPI
- spring boot 整合測試Spring Boot
- Spring Boot(七):spring boot測試介紹Spring Boot
- 使用Spring Boot、Kotlin和OpenFeign實現型別安全API測試Spring BootKotlin型別API
- 使用 .NET Core 3.x 構建 RESTFUL ApiRESTAPI
- Spring Boot(十二):Spring Boot 如何測試打包部署Spring Boot
- 使用Spring Boot REST API進行測試驅動開發Spring BootRESTAPI
- Spring Boot單元和整合測試概述 | rieckpilSpring BootKPI
- Spring Boot 單元測試Spring Boot
- Spring Boot 中測試 CORSSpring BootCORS
- Spring、Spring Boot和TestNG測試指南 – 整合測試中用Docker建立資料庫Spring BootDocker資料庫
- 使用 .NET Core 3.x 構建 RESTFUL Api (續)RESTAPI
- Spring、Spring Boot和TestNG測試指南 – @TestConfigurationSpring Boot
- 測試必須學spring RESTful Service(上)SpringREST
- 測試必須學 spring RESTful Service (上)SpringREST
- Spring、Spring Boot和TestNG測試指南 – 使用Spring Testing工具Spring Boot
- 使用 Spring Boot 和 @SpringBootTest 進行測試Spring Boot
- Spring Boot 整合 Swagger2,構建強大的 API 文件Spring BootSwaggerAPI
- 021-Spring Boot 測試Spring Boot
- Spring、Spring Boot和TestNG測試指南 – @OverrideAutoConfigurationSpring BootIdea
- 使用 Python 構建一個簡單的 RESTful APIPythonRESTAPI
- Spring API 的 CORS 測試SpringAPICORS
- Mokito 單元測試與 Spring-Boot 整合測試Springboot
- 使用 Spring Boot 和 @WebMvcTest 測試 MVC Web ControllerSpring BootWebMVCController
- Spring Boot乾貨系列:(十二)Spring Boot使用單元測試Spring Boot
- Swagger 文件工具 設計、構建、文件化和使用您的 RESTful APISwaggerRESTAPI