inSpring

后端定义的接口,字段名称是下划线分隔命名的,前端代码里怎么处理?直接用下划线分隔的名称吗?

  •  
  •   inSpring · Mar 21, 2025 · 1921 views
    This topic created in 458 days ago, the information mentioned may be changed or developed.

    前端项目会出现一堆下划线命名的变量吗?

    8 replies    2025-06-04 03:11:52 +08:00
    dumbass
        1
    dumbass  
       Mar 21, 2025
    用第三方库根据 swagger 生成类型,所以后端怎么写,我就怎么用。
    ala2008
        2
    ala2008  
       Mar 21, 2025
    看微博 api 就是下划线,好像不少大厂也是这样啊
    IvanLi127
        3
    IvanLi127  
       Mar 21, 2025
    直接用有啥问题嘛?不想转就直接用呗,其他地方也用下划线就风格统一了。不想统一的话,IDE 的代码提示加持,用起来也不会有啥问题。
    donaldturinglee
        4
    donaldturinglee  
       Mar 21, 2025 via Android
    你前端不想用下划线就用驼峰命名。保持风格统一就行
    dcsuibian
        5
    dcsuibian  
       Mar 21, 2025
    肯定会啊,你接口都这么返回了,不这么拿还能怎么办。除非你再弄个统一请求库转换一下
    seanlin5
        6
    seanlin5  
       Mar 21, 2025
    不建议自己再转换一套,理想状态下就是 API 端返回什么数据结果,我们就怎么用(无法用的让后端转下结构),这样联调起来也很舒服,前端也不需要写一大堆的 format 去洗数据,拿来即用,后期出现 bug 还容易排查
    fernandoxu
        7
    fernandoxu  
       Apr 15, 2025
    不光下划线问题,还有同样的字段前后端用的单词翻译不一样,后端还偶尔有拼写错误,无解啊😄
    beidounanxizi
        8
    beidounanxizi  
       Jun 4, 2025
    有 middleware

    pnpm add axios-case-converter


    import applyCaseMiddleware from "axios-case-converter";
    import { getAK, rmAK, setAK } from "./auth.js";

    // kebab 和 camel 转换
    const instance = applyCaseMiddleware(
    Axios.create({
    baseURL: import.meta.env.VITE_HTTP_BASE_URL,
    timeout: import.meta.env.VITE_HTTP_TIMEOUT,
    headers: { "Content-Type": "application/json;charset=utf-8" },
    }),
    );
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5406 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 06:00 · PVG 14:00 · LAX 23:00 · JFK 02:00
    ♥ Do have faith in what you're doing.