Spring Boot 构建 Restful API 和测试

标签: spring boot restful 单元测试 api
1484人阅读 评论(0) 收藏 举报
分类:

创建工程时已经选择了 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://github.com/lzx2011/springBootPractice

参考资料

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html

查看评论

Java分布式架构: Spring搭建RESTful web Service

-
  • 1970年01月01日 08:00

spring boot单元测试restfull API【从零开始学Spring Boot】

http://412887952-qq-com.iteye.com/ http://www.iteye.com/topic/1144374 下面我们尝试使用Spring MVC来实...
  • q1512451239
  • q1512451239
  • 2016-11-28 17:54:31
  • 1285

Spring Boot单元测试

Spring Boot单元测试Spring Boot单元测试 概要说明 示例概要说明Spring Boot应用只是一个Spring ApplicationContext,所以在测试时对它只需要像处理普...
  • zhzdeng
  • zhzdeng
  • 2017-06-11 11:49:36
  • 576

Spring-Boot -- RESTFUL风格的API接口的三种调用方式【测试】

本篇,我将结合创建用户这个接口,利用三种调用方式进行不同的创建测试
  • Appleyk
  • Appleyk
  • 2017-12-22 11:09:27
  • 1264

SpringBoot + Mybatis + RESTful(Jersey)

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 内置了大量的常用习惯性的配置,使你无需手动配置,使用 ...
  • whs_321
  • whs_321
  • 2017-07-24 20:24:57
  • 762

48. spring boot单元测试restfull API【从零开始学Spring Boot】

这一节我们使用SpringMVC来实现一组对User对象操作的RESTful API,配合注释详细说明在Spring MVC中如何映射HTTP请求、如何传参、如何编写单元测试。 * RESTful A...
  • linxingliang
  • linxingliang
  • 2016-08-26 09:04:47
  • 2285

基于RESTful风格的controller层(SpringMVC)的测试:MockMVC(SpringBoot和JUnit4测试环境)

参考李月云博主的博客园,地址:http://www.cnblogs.com/lyy-2016/p/6122144.html 个人代码 首先附上个人测试过的代码: /** * Descr...
  • Amethyst128
  • Amethyst128
  • 2017-06-16 15:23:10
  • 1728

如何为 SpringMVC 编写单元测试:REST API 篇

SpringMVC 为开发 REST API 提供了很便捷的途径。然而,想要为它们快速并全面的编写单元测试却显得没那么容易。SpringMVC 测试框架的发布则提供了快速全面编写高可读性单元测试的可能...
  • chen517611641
  • chen517611641
  • 2015-02-15 16:21:36
  • 7927

SpringMVC+RestFul详细示例实战教程

一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 ...
  • xinyuan_java
  • xinyuan_java
  • 2015-06-30 15:47:35
  • 48722

spring boot 测试的几种写法

用testNG做测试 import org.testng.annotations.Test; @SpringBootTest(classes = MyServiceTest.TestA...
  • evane1890
  • evane1890
  • 2017-03-09 12:04:07
  • 2456
    个人博客
    目前就职阿里飞猪,部门招人中~
    有意向或简历投递: lzx20110@163.com


    个人blog:Gary-生活录
    github:My github
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 39万+
    积分: 5969
    排名: 5356
    博客专栏
    最新评论