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

2025 年 2 月 21 日
 cjlalalala
我们的场景是后端给前端暴露发布帖子的 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 的提供需要是从代码层面上就有清晰语义的,这种字段的说明比较难以让人理解。

想问问大佬们怎么看待这个问题,有什么理据能够支撑各自的观点?
4242 次点击
所在节点    Web Dev
16 条回复
summerwar
2025 年 2 月 21 日
为啥不让他传递一个 json 对象过去,这样不是更方便
musi
2025 年 2 月 21 日
后端是不会对前端的内容进行校验吗?
cenbiq
2025 年 2 月 21 日
从更标准的开发方式来说,肯定是接口算接口的,存储算存储的
zangbianxuegu
2025 年 2 月 21 日
是的,API 应该尽量语义化,后端存储自己处理就好。虽然这样也能做,但是 content 实际上是 title + content 。而且,返回数据怎么处理,也是返回一整个 content 吗?
bfdh
2025 年 2 月 21 日
如果 title 内容也有\n 咋办?
wu00
2025 年 2 月 21 日
发到开发群,要脸的后端自然会站出来指正
aababc
2025 年 2 月 21 日
我要是弄出来这么个东西也挺不好意思给别人说是我设计的
simple233
2025 年 2 月 21 日
你让后端来这留个言,我想看看脑回路
Solix
2025 年 2 月 21 日
SEO 不都是分开的么……
ZJamss
2025 年 2 月 21 日
这个实习生大一吗...
patrickpu
2025 年 2 月 21 日
把这个不听话的实习生开了
cxjava
2025 年 2 月 21 日
前后端都有问题,一起挨打
niubiman
2025 年 2 月 21 日
URI 都用/feed-flow/publish-post 了, 还在乎那么做什么, 接口定义的很不规范
davin
2025 年 2 月 21 日
测试的时候,多输入几个\n 就都老实了😄另外,可能会影响以后的数据统计
IvanLi127
2025 年 2 月 22 日
后端只要说他爸是谁就行了,前端只能听天由命了。这前端太惨了,默哀
gerefoxing
2025 年 2 月 22 日
额 /publish-post

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1113200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX