当前位置: 首页 > news >正文

技术问题汇总:前端怎么往后端传一个数组?

场景

现在一个专门负责复习算法的服务,筛选出了用户今天需要复习的笔记的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了。

相关文章:

  • 8 SpringBoot进阶(上):AOP(面向切面编程技术)、AOP案例之统一操作日志
  • 对 Steam 下载的一次猜想
  • ArcGIS Pro实战技巧:灵活运用线条精准分割与裁切面要素
  • 使用 Spring Boot 和 Keycloak 的 OAuth2 快速指南
  • 单细胞marker基因表达密度图-(还有一个包装函数)
  • 文本条件生成
  • Kafka生产者相关
  • RabbitMq-消息确认机制-消息队列可靠投递
  • [arXiv 2025]BP-GPT: Auditory Neural Decoding Using fMRI-prompted LLM
  • ChatGPT Deep Research:重塑智能研究的未来边界
  • 计算机毕业设计SpringBoot+Vue.js宠物领养系统 (源码+文档+PPT+讲解)
  • Linux操作系统:基于ELK栈的日志分析系统与数据爬虫的设计与实现
  • SDF,占用场,辐射场简要笔记
  • 如何使用clip模型进行OOD
  • 什么是DevOps
  • 3D打印涡轮叶片-当传统铸造遇上“不可能任务”
  • Django模型管理器/QuerySet 常见的方法
  • python量化交易——金融数据管理最佳实践——使用qteasy管理本地数据源
  • python GUI之实现一个自定义的范围滑块控件:QRangeSlider
  • 可观测之Tracing-eBPF生态和发展
  • 国外素材网站推荐/长沙建设网站制作
  • 常见的电子商务网站网址/新乡搜索引擎优化
  • 吉林建设工程信息网/百度关键词排名优化工具
  • 企业网站定制开发流程/重庆百度竞价开户
  • 网站建设跟前端有什么区别/谷歌paypal官网登录入口
  • 做网站写代码好还是模板/百度电脑端入口