diff --git a/API.md b/API.md index d92bc49c63c..c855ada2a1f 100644 --- a/API.md +++ b/API.md @@ -992,7 +992,24 @@ View API token in Settings - About, request header: `Authorization: T * `path`: the file path under the workspace path * Return value - File content + * Response status code `200`: File content + * Response status code `202`: Exception information + + ```json + { + "code": 404, + "msg": "", + "data": null + } + ``` + + * `code`: non-zero for exceptions + + * `-1`: Parameter parsing error + * `404`: Not Found (file doesn't exist) + * `405`: Method Not Allowed (it's a directory) + * `500`: Server Error (stat file failed / read file failed) + * `msg`: a piece of text describing the error ### Put file diff --git a/API_zh_CN.md b/API_zh_CN.md index fc3ebda8d4c..51d826b0ced 100644 --- a/API_zh_CN.md +++ b/API_zh_CN.md @@ -984,7 +984,24 @@ * `path`:工作空间路径下的文件路径 * 返回值 - 文件内容 + * 响应状态码 `200`: 文件内容 + * 响应状态码 `202`: 异常信息 + + ```json + { + "code": 404, + "msg": "", + "data": null + } + ``` + + * `code`: 非零的异常值 + + * `-1`: 参数解析错误 + * `404`: 未找到 (文件不存在) + * `405`: 方法不被允许 (这是一个目录) + * `500`: 服务器错误 (文件查询失败 / 文件读取失败) + * `msg`: 一段描述错误的文本 ### 写入文件 diff --git a/kernel/api/file.go b/kernel/api/file.go index a7b8db2cbe2..3b24df4c31f 100644 --- a/kernel/api/file.go +++ b/kernel/api/file.go @@ -84,7 +84,7 @@ func getFile(c *gin.Context) { ret := gulu.Ret.NewResult() arg, ok := util.JsonArg(c, ret) if !ok { - c.JSON(http.StatusOK, ret) + c.JSON(http.StatusAccepted, ret) return } @@ -93,21 +93,21 @@ func getFile(c *gin.Context) { info, err := os.Stat(filePath) if os.IsNotExist(err) { ret.Code = 404 - c.JSON(http.StatusOK, ret) + c.JSON(http.StatusAccepted, ret) return } if nil != err { logging.LogErrorf("stat [%s] failed: %s", filePath, err) ret.Code = 500 ret.Msg = err.Error() - c.JSON(http.StatusOK, ret) + c.JSON(http.StatusAccepted, ret) return } if info.IsDir() { logging.LogErrorf("file [%s] is a directory", filePath) ret.Code = 405 ret.Msg = "file is a directory" - c.JSON(http.StatusOK, ret) + c.JSON(http.StatusAccepted, ret) return } @@ -116,7 +116,7 @@ func getFile(c *gin.Context) { logging.LogErrorf("read file [%s] failed: %s", filePath, err) ret.Code = 500 ret.Msg = err.Error() - c.JSON(http.StatusOK, ret) + c.JSON(http.StatusAccepted, ret) return }