SpringBoot基础-参数传递2

创建项目

创建Spring Boot项目

①在com.exampe下创建entity.User实体类

@Data
//已导入Lombok以来的情况下可以写@Data注解
//否则User实体类加上set,get,toString方法
public class User {
    private Long id;
    private String name;
}

②在com.exampe下创建test.Test类

@RestController
@RequestMapping("test")
public class Test {
    
}

普通对象

①非json请求

后端内容:

    //这个方法在新建的Test类里面
    @RequestMapping("demo4")
    public User demo4(User user){
        return user;
    }

前端访问: http://localhost:8080/test/demo4?id=12&name=AGi 

访问结果:

 ②json请求方式

 后端内容(需要添加@RequestBody注解):

    //这个方法在新建的Test类里面
    @RequestMapping("demo4")
    public User demo4(@RequestBody User user){
        return user;
    }

前端访问(使用postman):

数组

①非json形式

后端内容:

    @RequestMapping("demo5")
    public Long[] demo5(Long[] ids){
        return ids;
    }

前端访问: http://localhost:8080/test/demo5?ids=1,2,3,4 或 http://localhost:8080/test/demo5?ids=1&ids=2&ids=3&ids=4

访问结果:

 ②json形式

后端内容:

    @RequestMapping("demo6")
    public Long[] demo6(@RequestBody Long[] ids){
        return ids;
    }

前端访问(使用postman):

集合List 

 ①非json形式

后端内容(@RequestParam注解不可缺少):

    @RequestMapping("demo7")
    public List<Long> demo7(@RequestParam List<Long>  ids){
        return ids;
    }

前端访问:http://localhost:8080/test/demo7?ids=1,2,3,4 或 http://localhost:8080/test/demo7?ids=1&ids=2&ids=3&ids=4

访问结果:

 ②json形式

后端内容:

    @RequestMapping("demo7")
    public List<Long> demo7(@RequestBody List<Long>  ids){
        return ids;
    }

前端访问(使用postman):

list的使用方法跟数组差不多一样。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是基于 Spring Boot 和 EasyExcel 的导入功能的实现步骤: 1. 添加依赖 在 pom.xml 文件中添加 EasyExcel 和 Spring Boot 的依赖: ```xml <!-- EasyExcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version> </dependency> <!-- Spring Boot --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.4.1</version> </dependency> ``` 2. 创建实体类 创建一个实体类,用于存储 Excel 中的数据。例如,如果要导入一个用户列表,可以创建一个名为 User 的实体类: ```java public class User { private String name; private int age; private String email; // 省略 getter 和 setter 方法 } ``` 3. 创建导入服务 创建一个名为 ImportService 的服务,用于实现 Excel 文件的导入。在导入服务中,需要使用 EasyExcel 提供的 API 来读取 Excel 文件,并将读取到的数据转换成实体类对象。 ```java @Service public class ImportService { public List<User> importUsers(MultipartFile file) throws IOException { InputStream inputStream = file.getInputStream(); List<User> userList = new ArrayList<>(); ExcelReader excelReader = EasyExcel.read(inputStream, User.class, new UserListener(userList)).build(); excelReader.readAll(); excelReader.finish(); return userList; } } ``` 在上面的代码中,我们定义了一个名为 importUsers 的方法,该方法接收一个 MultipartFile 类型的文件参数,并返回一个 User 类型的列表。在方法内部,我们首先通过文件对象获取输入流,然后定义了一个空的 userList 列表来存储读取到的用户数据。 接下来,我们使用 EasyExcel 提供的 API 来读取 Excel 文件。在这里,我们使用了一个名为 UserListener 的类,该类实现了 EasyExcel 的 ReadListener 接口,用于将 Excel 中的每一行数据转换成 User 类型的对象,并将其添加到 userList 列表中。最后,我们调用 excelReader.readAll() 方法来读取 Excel 文件中的所有数据,并调用 excelReader.finish() 方法来关闭资源。 4. 创建 ExcelListener 创建一个名为 UserListener 的类,该类实现了 EasyExcel 的 ReadListener 接口。在该类中,我们定义了一个 userList 列表,用于存储读取到的用户数据。 ```java public class UserListener extends AnalysisEventListener<User> { private List<User> userList; public UserListener(List<User> userList) { this.userList = userList; } @Override public void invoke(User user, AnalysisContext analysisContext) { userList.add(user); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { // do nothing } } ``` 在上面的代码中,我们首先定义了一个 userList 列表,并在构造方法中将其递进来。在 invoke 方法中,我们将每一行数据转换成 User 对象,并将其添加到 userList 列表中。在 doAfterAllAnalysed 方法中,我们不需要执行任何操作。 5. 创建 Controller 创建一个名为 UserController 的 Controller,用于处理导入请求并返回结果。在导入请求中,我们需要将 Excel 文件上到服务器,然后将其递给 ImportService 的 importUsers 方法进行处理。 ```java @RestController public class UserController { private ImportService importService; @Autowired public UserController(ImportService importService) { this.importService = importService; } @PostMapping("/import") public ResponseEntity<String> importUsers(@RequestParam("file") MultipartFile file) throws IOException { List<User> userList = importService.importUsers(file); // do something with userList return ResponseEntity.ok("Import success"); } } ``` 在上面的代码中,我们首先定义了一个名为 importService 的 ImportService 对象,并在构造方法中将其注入进来。在 importUsers 方法中,我们接收一个 MultipartFile 类型的文件参数,并调用 importService 的 importUsers 方法进行处理。处理完成后,我们可以对 userList 进行进一步操作,并返回一个 ResponseEntity 对象表示导入成功。 到此为止,我们已经完成了基于 Spring Boot 和 EasyExcel 的导入功能的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值