Spring Boot(一)之请求接口示例

Spring Boot(一)之请求接口示例

1. 创建一个Spring Boot的web程序

1.1 创建一个Project

image

选择Spring Initializr,点击Next。

1.2 编辑Project Metadata,如图:

image

修改Group,Artifact,点击Next

1.3 选择Web程序

image

点击Next

1.4 选择项目的目录

image

点击Finish

这样项目就创建好了,如图:

image

SpringBootDemoApplication是程序的入口,接下来编写程序的接口。

2. get请求接口编写

2.1 get无参数请求

创建一个controller目录,创建一个MyController类,在MyController类中创建一个hello方法。具体如下:

@RestController
public class MyController {

    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }

}

@RestController:相当于 @Resquest + @Controller

@GetMapping(“/hello”):是Get方法的映射,映射的路径是/hello

运行Spring Boot程序,请求:
http://localhost:8080/hello,结果如下:

image

2.2 get带参数的请求(一个参数)

@RestController
public class MyController {

    @RequestMapping(value = "/search", method = RequestMethod.GET)
    public String search(@RequestParam String params) {
        System.out.println(params);
        return "hello " + params;
    }
}

@RequestMapping:表示请求的映射,value的值表示路径,method的值是请求方式,如:GET,POST等。

@RequestParam:表示请求参数,这里请求参数是params

请求结果如下:

image

这里需要注意,一定是params=?,不然报错。

2.3 get多个参数请求

@RestController
public class MyController {

    @GetMapping("/searchall")
    public String searchAll(@RequestParam Map map) {// 这个也可以使用bean对象
        System.out.println(map);
        return map.toString();
    }

}

请求结果如图:

image

2.4 get路径匹配

@RestController
public class MyController {

    @GetMapping("/search/{path}")
    public String path(@PathVariable String path) {
        System.out.println(path);
        return path;
    }

}

@PathVariable:path的变量,表示上面路径的{path}

请求结果如下:

image

在实际中,path的方式可以和携带参数请求的结合。

3. post请求接口编写

3.1 post带一个请求参数

@RestController
public class MyController {

    @PostMapping("/find")
    public String find(@RequestBody String userId) {
        System.out.println(userId);
        return userId;
    }

}

@RequestBody:post的请求体

请求结果,如下:

image

3.2 post请求,使用Map封装RequestBody

@RestController
public class MyController {

    @PostMapping("/addmap")
    public String addUser1(@RequestBody Map map) {
        System.out.println(map);
        return map.toString();
    }

}

请求结果如下:

image

3.3 post请求,使用Bean封装RequestBody

@RestController
public class MyController {

    @PostMapping("/adduser")
    public String addUser(@RequestBody User user) {
        System.out.println(user);
        return "Success";
    }

}

请求结果:

image

3.4 post请求,使用Bean封装RequestBody,并返回ResponseBody

@RestController
public class MyController {

    @ResponseBody
    @PostMapping("/finduser")
    public User findUser(@RequestBody User user) {
        System.out.println(user);
        return user;
    }

}

image

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值