首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Spring Boot的数据绑定和参数传递(三)

Spring Boot的数据绑定和参数传递(三)

原创
作者头像
堕落飞鸟
发布2023-04-05 14:29:03
发布2023-04-05 14:29:03
8240
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

四、示例

下面是一个使用Spring Boot实现数据绑定和参数传递的示例。该示例演示了如何使用数据绑定和参数传递来实现RESTful API。

创建User类

代码语言:javascript
复制
public class User {

    private String name;
    private Integer age;
    private Date birthday;

    // getter and setter
}

创建控制器

代码语言:javascript
复制
@RestController
public class UserController {

    @InitBinder
    public void initBinder(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
    }

    @GetMapping("/user")
    public User getUser(@RequestParam(value = "name", defaultValue = "Tom") String name,
                        @RequestParam(value = "age", defaultValue = "18") Integer age,
                        @RequestParam(value = "birthday", defaultValue = "1990-01-01") Date birthday) {
        User user = new User();
        user.setName(name);
        user.setAge(age);
        user.setBirthday(birthday);
        return user;
    }

    @PostMapping("/user")
    public User createUser(@RequestBody User user) {
        return user;
    }

    @GetMapping("/user/{name}")
    public User getUserByName(@PathVariable("name") String name) {
        User user = new User();
        user.setName(name);
        user.setAge(20);
        user.setBirthday(new Date());
        return user;
    }
}

在上面的控制器中,我们使用了@RequestParam注解、@RequestBody注解和@PathVariable注解来传递参数。同时,我们也使用了@InitBinder注解来进行数据绑定。

测试RESTful API

我们可以使用Postman等工具来测试RESTful API。下面是一些测试示例:

获取默认用户:

代码语言:javascript
复制
GET http://localhost:8080/user

响应:

代码语言:javascript
复制
{
    "name": "Tom",
    "age": 18,
    "birthday": "1990-01-01"
}

获取指定用户:

代码语言:javascript
复制
GET http://localhost:8080/user/Jerry

响应:

代码语言:javascript
复制
{
    "name": "Jerry",
    "age": 20,
    "birthday": "2023-04-05"
}

创建用户:

代码语言:javascript
复制
OST http://localhost:8080/user

{
    "name": "Lucy",
    "age": 25,
    "birthday": "1998-05-23"
}

响应:

代码语言:javascript
复制
{
    "name": "Lucy",
    "age": 25,
    "birthday": "1998-05-23"
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 四、示例
    • 创建User类
    • 创建控制器
    • 测试RESTful API
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档