API 请求体字段定义询问各位大佬。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cjlalalala
V2EX    Web Dev

API 请求体字段定义询问各位大佬。

  •  
  •   cjlalalala 230 天前 2669 次点击
    这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们的场景是后端给前端暴露发布帖子的 api ,界面上是有明确的标题跟内容的 UI 区分的。

    公司里的实习生在给前端暴露 api 的时候,给前端暴露了下述的 api:
    const response: AxiosResponse<FeedFlow.PublishPostResponse> = await this.apiClient.post('/feed-flow/publish-post, {
    authorId: request.authorId,
    content: `${request.title}\n${request.content}`,
    });

    后端同学的存储格式是把 title 跟 content 正文存储在一个一段里面,按行分割。前端同学觉得要在 api 的层面上把 title 跟 content 通过字符拼接再赋值给 content 字段很不自然。后端同学觉得没什么所谓,觉得数据库里面定的就是这个字段,直接给他拼好就行了。

    我的看法是,api 的提供需要是从代码层面上就有清晰语义的,这种字段的说明比较难以让人理解。

    想问问大佬们怎么看待这个问题,有什么理据能够支撑各自的观点?
    16 条回复    2025-02-22 11:51:36 +08:00
    summerwar
        1
    summerwar  
       230 天前
    为啥不让他传递一个 json 对象过去,这样不是更方便
    musi
        2
    musi  
       230 天前
    后端是不会对前端的内容进行校验吗?
    cenbiq
        3
    cenbiq  
       230 天前
    从更标准的开发方式来说,肯定是接口算接口的,存储算存储的
    zangbianxuegu
        4
    zangbianxuegu  
       230 天前
    是的,API 应该尽量语义化,后端存储自己处理就好。虽然这样也能做,但是 content 实际上是 title + content 。而且,返回数据怎么处理,也是返回一整个 content 吗?
    bfdh
        5
    bfdh  
       230 天前
    如果 title 内容也有\n 咋办?
    wu00
        6
    wu00  
       230 天前
    发到开发群,要脸的后端自然会站出来指正
    aababc
        7
    aababc  
       230 天前
    我要是弄出来这么个东西也挺不好意思给别人说是我设计的
    simple233
        8
    simple233  
       230 天前
    你让后端来这留个言,我想看看脑回路
    Solix
        9
    Solix  
       230 天前
    SEO 不都是分开的么……
    ZJamss
        10
    ZJamss  
       230 天前
    这个实习生大一吗...
    patrickpu
        11
    patrickpu  
       230 天前
    把这个不听话的实习生开了
    cxjava
        12
    cxjava  
       230 天前
    前后端都有问题,一起挨打
    niubiman
        13
    niubiman  
       230 天前
    URI 都用/feed-flow/publish-post 了, 还在乎那么做什么, 接口定义的很不规范
    davin
        14
    davin  
       230 天前
    测试的时候,多输入几个\n 就都老实了另外,可能会影响以后的数据统计
    IvanLi127
        15
    IvanLi127  
       229 天前
    后端只要说他爸是谁就行了,前端只能听天由命了。这前端太惨了,默哀
    tr>
    gerefoxing
        16
    gerefoxing  
       229 天前
    额 /publish-post
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2812 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:36 PVG 21:36 LAX 06:36 JFK 09:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86