全局请求与响应
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>全局请求与响应</li>
</ul>
<h5>全局请求</h5>
<ul>
<li><code>https://Hx8.IntMars.cn/Api/MindModule/FastApi/{ActionName}</code>
<ul>
<li><strong>请求方式:</strong> POST </li>
<li><strong>请求与响应类型:</strong> ApiReq<T> => ApiRsp<K></li>
<li><strong>数据格式:</strong> Json</li>
<li>Url不区分大小写,大小写仅为方便阅读</li>
<li>{ActionName}为具体接口Url</li>
</ul></li>
</ul>
<h5>常用请求与响应类</h5>
<h5>ApiReq<T> 全局请求类</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>当前请求用户的id。(id请向管理员获取)</td>
</tr>
<tr>
<td style="text-align: left;">password</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>密码。由'accessKey'+'timestamp'后加密成32位md5。(accesskey请向管理员获取)</td>
</tr>
<tr>
<td style="text-align: left;">timestamp</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">number</td>
<td>发起请求时间,如 1713687007,当请求时间与本机</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">object</td>
<td>具体请求数据</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code>{
&quot;id&quot;:&quot;0a2c5566...&quot;,
&quot;password&quot;:&quot;ABCEDF01234567890123456789ABCDEF&quot;,
&quot;timestamp&quot;:1713687007,
&quot;data&quot;:{
&quot;id&quot;:&quot;0abcdef00a...&quot;
}
}</code></pre>
<h5>ApiRsp<T> 全局响应类</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">statusCode</td>
<td style="text-align: left;">int</td>
<td>状态码 为0时表示成功,其他状态为失败,999表示未知错误</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">string?</td>
<td>消息,状态码不为0时,展示错误信息</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">T?</td>
<td>实际返回数据对象或对象列表,当statusCode>0时,为null</td>
</tr>
<tr>
<td style="text-align: left;">errors</td>
<td style="text-align: left;">map<string,string>?</td>
<td>错误列表,如果只有一个错误时,其key为 “_” 。当StatusCode==0时,为null,</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code> {
&quot;statusCode&quot;: 0,
&quot;message&quot;:&quot;错误消息&quot;,
&quot;data&quot;: {...} 或 [array...],
errors:{
&quot;_&quot;:&quot;和message错误消息相同&quot;,
&quot;{other}&quot;:&quot;如果请求数据中的字段数据验证不通过,则key为字段名称,value为验证不通过的原因&quot;
}
}</code></pre>
<h5>IdReq 只包含id的通用子请求类型,常用于读取指定id数据或进行关键字搜索</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>唯一id 或 搜索字符串</td>
</tr>
</tbody>
</table>
<h5>基础错误代码</h5>
<pre><code>- 0 成功
- 1 token错误或已过期
- 2 没有权限调用当前接口
- 3 请求数据校验失败
- 4 {xx对象}不存在
- 5 {xx对象}已存在
- 6 {xx对象}重复
- 7 {xx对象}为null
- 8 {xx对象}为null或Empty
- 9 {xx}数据无效
- 10 {xx}操作失败
- 11 {xx}不支持
- 12 {xx}数据转换失败
- 13 {xx}超时
-999 未知错误</code></pre>