技术问题汇总:前端怎么往后端传一个数组?
- 人工智能
- 2025-09-20 16:51:01

场景
现在一个专门负责复习算法的服务,筛选出了用户今天需要复习的笔记的ids,现在要调用笔记服务根据ids查询的接口。 请问复习服务怎么将ids发到笔记服务,笔记服务怎么接收。
思路发的时候肯定是用字符串,接收的时候,用List接收到了就接收,接收不到就也用字符串,收到了再解析成数组。
参考代码 发送 // 提取需要复习的笔记 ID List<Long> reviewNoteIds = reviewList.stream() .map(NoteAttributeDTO::getNid) .toList(); // 转换成逗号分隔的字符串 String idsStr = reviewNoteIds.stream() .map(String::valueOf) .collect(Collectors.joining(","));feign:
// 根据ids查询笔记 @GetMapping("/api/note-service/note/findNotesByIds") ResultData<List<NoteDTO>> findNotesByIds(@RequestParam("ids") String ids); 接收用List直接接收
@GetMapping("/findNotesByIds") public ResultData<List<Note>> findNotesByIds(@RequestParam("ids") List<Long> ids) { if (ids == null || ids.isEmpty()) { return ResultData.failure(ResultCodeEnum.FAIL, "笔记 ID 不能为空"); } List<Note> notes = noteService.findNotesByIds(ids); return ResultData.success(notes); }先接收成字符串,再解析
// 次接口仅用来测试前端怎么给后端传递一个数组 @GetMapping("/arrayTest") public ResultData<List<Long>> arrayTest(@RequestParam("ids") String ids) { // 逗号分隔解析 List<Long> idList = Arrays.stream(ids.split(",")) .map(Long::parseLong) .collect(Collectors.toList()); System.out.println(idList); return ResultData.success(idList); } 总结远程调用要传数组,传的一方肯定用字符串。收的一方看能用List接收到,就用List,不能用List就也用字符串接收。 额,别的方法还没试过,可能还有更简单的方法,不过我感觉这种暂时够用了,顶多传的时候,再粘几行代码就ok了。
技术问题汇总:前端怎么往后端传一个数组?由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“技术问题汇总:前端怎么往后端传一个数组?”