# 请求
我们提供了request
方法用于在前端调用后端提供的服务,并处理了大部分异常。大多数情况下你无需关心异常时所需的提示,
我们将根据响应数据中的errorMessage
和status
进行异常提示
示例:
/**
* 示例
*/
export function selectTable () {
return request({
url: '/sample/api',
method: 'get'
})
}
TIP
异常时,优先使用errorMessage
提示异常,如未设置该属性则根据status
提示异常信息。
const codeMessage = {
200: '服务器成功返回请求的数据。',
201: '新建或修改数据成功。',
202: '一个请求已经进入后台排队(异步任务)。',
204: '删除数据成功。',
400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
401: '用户没有权限(令牌、用户名、密码错误)。',
403: '用户得到授权,但是访问是被禁止的。',
404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
405: '请求方法不被允许。',
406: '请求的格式不可得。',
410: '请求的资源被永久删除,且不会再得到的。',
415: '服务器不支持当前方法,请求被拒绝。',
422: '当创建一个对象时,发生一个验证错误。',
500: '服务器发生错误,请检查服务器。',
502: '网关错误。',
503: '服务不可用,服务器暂时过载或维护。',
504: '网关超时。'
}
# 规范
我们统一将api文件放到/src/api/
目录下并分模块存放,现有模块如下:
├── activiti # 工作流
├── cms # CMS
├── generator # 开发工具
├── sample # 示例
├── scheduler # 定时任务
└── sys # 系统
# 示例
下面是一个完整的CRUD示例
import request from '@/utils/request'
import { HTTP_METHOD } from '@/utils/const/http/method'
const baseUrl = '/auth/sample/general/'
/**
* 查询数据
*
* @param params {object} 查询参数
* @return Page<SampleGeneral>
*/
export function select (params) {
return request({
url: baseUrl,
method: HTTP_METHOD.GET,
params
})
}
/**
* 详情
*
* @param id {String} id
* @return SampleGeneral
*/
export function get (id) {
return request({
url: baseUrl + id,
method: HTTP_METHOD.GET
})
}
/**
* 新增
*
* @return SampleGeneral
*/
export function add () {
return request({
url: `${baseUrl}/add`,
method: HTTP_METHOD.GET
})
}
/**
* 删除
*
* @param ids {String} ids 多个使用 , 隔开
* @return true/false
*/
export function remove (ids) {
return request({
url: baseUrl + ids,
method: HTTP_METHOD.DELETE
})
}
/**
* 保存
*
* @param params {object} 表单数据
* @return SampleGeneral
*/
export function save (params) {
return request({
url: baseUrl,
method: HTTP_METHOD.POST,
data: params
})
}