后端的大佬们 你们的接口文档注释写道什么程度呀

240 天前
 puzzle9

如题

这是组内另一个同事写的

{
    "code": 200,
    "data": {
        "forum": {
            "forum_id": 1, //帖子 ID
            "user_id": 2, //发帖人 ID
            "content": "仅支持文本输入,简体中文、数字、大小写字母,中英文标点符号", //帖子内容
            "created_at": "2024-12-12 16:28", //发帖时间
            "user_name": "教师", //发帖人名称
            "avatar": "http://127.0.0.1:8000/assets/img/teacher_avatar_default.png" //发帖人头像
        },
        "forumReplyList": {
            "data": [
                {
                    "forum_reply_id": 15, //回复内容 ID
                    "forum_id": 1, //帖子 ID
                    "user_id": 2, //回复用户 ID
                    "content": "又一次回复内容", //回复的内容
                    "created_at": "2024-12-14 22:54", //回复的时间
                    "forum_reply_like_count": 0, //回复的点赞
                    "user_name": "教师", //回复用户的名称
                    "avatar": "http://127.0.0.1:8000/assets/img/teacher_avatar_default.png", //回复用户的头像
                    "reply_user_name": "教师", //被回复的用户名
                    "is_delete": true, //是否是当前用户的回复:true 是当前用户的回复可以删除,false 不是当前用户的回复不能删除
                    "is_like": false //当前用户是否点赞,true 已点赞 false 未点赞
                }
            ],
            "current": 1, //当前页
            "total": 12, //总共的数量
            "size": 10, //当前分页数量
            "has_more_page": true //是否有下一页:true 有下一页 false 没有下一页
        }
    }
}

这是我写的 完全无注释

{
    "code": 200,
    "data": {
        "id": 2,
        "type": "in_select",
        "question_description": "请选择青龙还是白虎",
        "question_images": [],
        "question_options": [
            {
                "description": "青龙",
                "image": null
            },
            {
                "description": "白虎",
                "image": null
            }
        ],
        "student_answer_exists": true,
        "is_can_submit": false,
        "socket_name": "course_interact_1_2"
    }
}
{
    "code": 200,
    "data": [
        {
            "id": 2,
            "body": "顶层",
            "user_type": "teacher",
            "user_nickname": "教师昵称阿",
            "user_avatar": "http://127.0.0.1:8000/assets/img/teacher_avatar_default.png",
            "created_at": "2025-01-07 20:19:38",
            "childs": [
                {
                    "id": 6,
                    "body": "回复 1 的回复 2",
                    "user_type": "student",
                    "user_nickname": "程凤英",
                    "user_avatar": "http://127.0.0.1:8000/assets/img/student_avatar_default.png",
                    "created_at": "2025-01-07 20:20:15",
                    "reply_user_nickname": "金莹"
                },
                {
                    "id": 5,
                    "body": "回复 1 的回复 1",
                    "user_type": "teacher",
                    "user_nickname": "安智渊",
                    "user_avatar": "http://127.0.0.1:8000/assets/img/teacher_avatar_default.png",
                    "created_at": "2025-01-07 20:20:12",
                    "reply_user_nickname": "金莹"
                }
            ]
        }
    ]
}

然后嘛 组内的一个前端 希望我写的清楚一点 标清楚每个字段的含义

我 产生了迷茫

再者

前端的大佬们

你们心中的接口文档是咋样的

6410 次点击
所在节点    程序员
56 条回复
ns09005264
240 天前
为什么你们的接口文档是这样的,更方便的做法难道不是使用 API 文档生成库,然后在入参和返回的结构体上添加注释吗?最后项目启动后可以在线浏览详细的接口文档,包含每个字段所需的类型、注释说明、参考值等,还能直接调用 API 测试。
参考: https://petstore.swagger.io/#/
adgfr32
240 天前
has_more_page 这个参数需要返回吗, 前端根据 current total size 不是可以算出来么.
issakchill
240 天前
每个字段都有注释 然后生成文档的时候自动生成的
sunfall
240 天前
@ty29022 以前用过 datas
wolfie
240 天前
这啥也没有啊。。。你们前端这么软吗。
字段名、数据类型、值大小范围、必填、校验规则、特殊场景描述。
Ackvincent
240 天前
后端代码中无所谓,但是接口要有详细的文档说明。
qiniu2025
239 天前
不满意,让 AI 重新按你的要求加上注释即可,2025 年了该告别刀耕火种了
61366756
239 天前
代码中不允许注释
chenjk
239 天前
第一天上班啊,让你写注释都这么难受😢
dcdlove
239 天前
应该 给 model 每一个字段 标注出说明和枚举项的说明 和字段作用意图 ,并且在每个控制器和每个暴露接口中注明用法示例 和详细说明可能出现的错误说明等,并且输出标注规范的 swagger
fredweili
239 天前
注释的活,copilot 之类的能做的很好了,就是打个//然后等几秒
clf
239 天前
我们是所有 bean 类(包括给前端的和后端的)要求写注释,然后写了一个 idea 的插件去根据注释生成接口文档……
如果注释没写,常见的字段也有一些内置词典……同个代码文件里的 api 字段,如果遇到了别的接口上已经写的,会将其作为字典来用。
---
但至少得详细说明接口是干嘛的,每个字段是干嘛的。
cccssss
239 天前
"type": "in_select"如果就只有 in select 一个选择的话,你不写注释倒也行。但是你敢发誓只有 in select 一个值?
cslive
239 天前
这写的啥啊,除了知道返回的字段,其他啥都看不出来
DIO
239 天前
贴出来代码块,下面列表解释喽。如果要团队协作,肯定需要一种大家都能接受的方式
wxshuai
239 天前
使用 api 工具类似于 swagger 能在模型层定义字段信息,很清晰 明了
isnullstring
239 天前
不是 代码里注释,生成 swagger 么?

对自己、对其他人、对前端都能统一概念
v1
239 天前
除了统一返回字段,每个接口的自有数据都要写好数据字典
zzzzero
239 天前
不写,返回给前端猜,前端也是给 AI 猜。猜的还真准。
MuXia
239 天前
要明确的划分责任的话,建议是写清楚,这样出问题 可以迂回一下,虽然最终可能还是要改代码,但不会没理

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

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

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

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

© 2021 V2EX