第二篇:SpringBoot - 获取接口userInfo数据

第一步:首先我们需要写这个接口的入口处也就是Controller类

/**
 * @RestController 代表自己是个请求接口的拦截类
 */
@RestController
public class UserController {

    /**
     * @Autowired 将实体对象进行了依赖注入
     */
    @Autowired
    UserProperties userProperties;

    /**
     * 定义了接口的名称
     * @return
     */
    @GetMapping("/getUser")
    public String getUser() {
        return "name = " +userProperties.getName()
                +" age = "+userProperties.getAge()
                +" sex="+userProperties.getSex();
    }
}

第二步:我们看下数据的实体对象如何处理

/**
 * @Component 的意思就是将该类进行依赖注入的声明 ,之后通过@Autowired就可以直接使用该
 * 类的实体,而无须在new 该对象
 */
@Component
public class UserProperties {

    @Value("${user.name}")
    private String name;
    @Value("${user.age}")
    private int age;
    @Value("${user.sex}")
    private String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

我们注意一下,该实体类有个特殊的符号,为@Value("${user.name}") 这个是什么意思呢?

就是当我们在请求接口的时候,因为我们没有数据源(数据库),我们就没有办法给userInfo进行赋值,哪该怎么办呢?

第三步:使用全局参数给userPro进行赋值,我们进入到application.properties文件下,添加如下信息:

## 用户属性 Dev
user.name= malei
user.age=22
user.sex=male

这样,我们就启动项目把 http://localhost:8080/getUser

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为您解析字符串并封装成User对象,代码如下: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; class User { private Long id; private String name; private String gender; private Date birthday; public User(Long id, String name, String gender, Date birthday) { this.id = id; this.name = name; this.gender = gender; this.birthday = birthday; } // getter and setter methods } public class Main { public static void main(String[] args) { String userStrs = "10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01"; List<User> userList = new ArrayList<>(); String[] users = userStrs.split("#"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (String user : users) { String[] userInfo = user.split(":"); Long id = Long.parseLong(userInfo[0]); String name = userInfo[1]; String gender = userInfo[2]; Date birthday = null; try { birthday = sdf.parse(userInfo[3]); } catch (ParseException e) { e.printStackTrace(); } userList.add(new User(id, name, gender, birthday)); } // 测试输出 for (User user : userList) { System.out.println(user.getId() + " " + user.getName() + " " + user.getGender() + " " + user.getBirthday()); } } } ``` 输出结果如下: ``` 10001 张三 男 Mon Jan 01 00:00:00 CST 1990 10002 李四 女 Tue Jan 09 00:00:00 CST 1989 10003 王五 男 Wed Sep 09 00:00:00 CST 1999 10004 刘备 男 Mon Jan 01 00:00:00 CST 1900 10005 孙悟空 男 Mon Jan 01 00:00:00 CST 1900 10006 张三 女 Sat Jan 01 00:00:00 CST 2000 10007 刘备 女 Sat Jan 01 00:00:00 CST 2000 10008 张三 女 Wed Jul 02 00:00:00 CST 2003 10009 猪八戒 男 Mon Jan 01 00:00:00 CST 1900 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值