swagger
This commit is contained in:
parent
6b01b51450
commit
02b054ac2c
|
|
@ -34,12 +34,32 @@ use Hyperf\HttpServer\Annotation\DeleteMapping;
|
||||||
use Hyperf\HttpServer\Annotation\GetMapping;
|
use Hyperf\HttpServer\Annotation\GetMapping;
|
||||||
use Hyperf\HttpServer\Annotation\PostMapping;
|
use Hyperf\HttpServer\Annotation\PostMapping;
|
||||||
use Hyperf\HttpServer\Annotation\PutMapping;
|
use Hyperf\HttpServer\Annotation\PutMapping;
|
||||||
|
use Hyperf\Swagger\Annotation as SA;
|
||||||
|
|
||||||
#[Controller(prefix: "admin")]
|
#[Controller(prefix: "admin")]
|
||||||
|
#[SA\HyperfServer('user')]
|
||||||
class System extends Base
|
class System extends Base
|
||||||
{
|
{
|
||||||
#[GetMapping(path: "menu/list")]
|
#[GetMapping(path: "menu/list")]
|
||||||
#[Auth(needAuth: false, auth: "menu:list")]
|
#[Auth(needAuth: false, auth: "menu:list")]
|
||||||
|
#[SA\Post(path: '/menu/list', summary: '菜单接口', tags: ['菜单接口'])]
|
||||||
|
#[SA\RequestBody(
|
||||||
|
description: '请求参数',
|
||||||
|
content: [
|
||||||
|
new SA\MediaType(
|
||||||
|
mediaType: 'application/json',
|
||||||
|
schema: new SA\Schema(
|
||||||
|
required: ['username', 'age'],
|
||||||
|
properties: [
|
||||||
|
new SA\Property(property: 'username', description: '用户名字段描述', type: 'string'),
|
||||||
|
new SA\Property(property: 'age', description: '年龄字段描述', type: 'string'),
|
||||||
|
new SA\Property(property: 'city', description: '城市字段描述', type: 'string'),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)]
|
||||||
|
#[SA\Response(response: 200, description: '返回值的描述')]
|
||||||
public function menuList()
|
public function menuList()
|
||||||
{
|
{
|
||||||
return $this->success("菜单列表", mModel::getMenus(1));
|
return $this->success("菜单列表", mModel::getMenus(1));
|
||||||
|
|
|
||||||
|
|
@ -8,62 +8,14 @@ return [
|
||||||
'enable' => true,
|
'enable' => true,
|
||||||
'port' => (int)env("SWAGGER_PORT", 9500),
|
'port' => (int)env("SWAGGER_PORT", 9500),
|
||||||
'json_dir' => BASE_PATH . '/static/swagger',
|
'json_dir' => BASE_PATH . '/static/swagger',
|
||||||
'html' => <<<'HTML'
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<meta
|
|
||||||
name="description"
|
|
||||||
content="SwaggerUI"
|
|
||||||
/>
|
|
||||||
<title>SwaggerUI</title>
|
|
||||||
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="swagger-ui"></div>
|
|
||||||
<script src="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-bundle.js" crossorigin></script>
|
|
||||||
<script src="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-standalone-preset.js" crossorigin></script>
|
|
||||||
<script>
|
|
||||||
window.onload = () => {
|
|
||||||
window.ui = SwaggerUIBundle({
|
|
||||||
url: GetQueryString("search"),
|
|
||||||
dom_id: '#swagger-ui',
|
|
||||||
presets: [
|
|
||||||
SwaggerUIBundle.presets.apis,
|
|
||||||
SwaggerUIStandalonePreset
|
|
||||||
],
|
|
||||||
layout: "StandaloneLayout",
|
|
||||||
});
|
|
||||||
};
|
|
||||||
function GetQueryString(name) {
|
|
||||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
|
||||||
var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
|
|
||||||
var context = "";
|
|
||||||
if (r != null)
|
|
||||||
context = decodeURIComponent(r[2]);
|
|
||||||
reg = null;
|
|
||||||
r = null;
|
|
||||||
return context == null || context == "" || context == "undefined" ? "/http.json" : context;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
HTML,
|
|
||||||
'url' => '/swagger',
|
|
||||||
'path' =>'/swagger',
|
|
||||||
'auto_generate' => true,
|
'auto_generate' => true,
|
||||||
'scan' => [
|
'scan' => [
|
||||||
'paths' => [
|
'paths' => [
|
||||||
BASE_PATH . '/app/Controller/Admin'
|
BASE_PATH . '/app/Controller/Admin'
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'processors' => [
|
|
||||||
// users can append their own processors here
|
|
||||||
],
|
|
||||||
'server' => [
|
'server' => [
|
||||||
'http' => [
|
'admin' => [
|
||||||
'servers' => [
|
'servers' => [
|
||||||
[
|
[
|
||||||
'url' => env('DOMAIN') . '/admin',
|
'url' => env('DOMAIN') . '/admin',
|
||||||
|
|
@ -76,5 +28,18 @@ HTML,
|
||||||
'version' => '1.0.0',
|
'version' => '1.0.0',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
'user' => [
|
||||||
|
'servers' => [
|
||||||
|
[
|
||||||
|
'url' => env('DOMAIN') . '/user',
|
||||||
|
'description' => '用户接口',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'info' => [
|
||||||
|
'title' => '里派基础接口',
|
||||||
|
'description' => '用户端接口',
|
||||||
|
'version' => '1.0.0',
|
||||||
|
],
|
||||||
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue