Browse Source

first commit

hyperf
chenlong 1 year ago
parent
commit
6f574f5905
  1. 11
      Attributes/Api.php
  2. 59
      Controller/DemoController.php

11
Attributes/Api.php

@ -14,15 +14,4 @@ use JetBrains\PhpStorm\ExpectedValues;
class Api
{
/**
* @param string $method
* @param string $uri
*/
public function __construct(
#[ExpectedValues(['GET', 'POST', 'PUT', 'DELETE'])]
public string $method = 'GET',
public string $uri = '')
{
}
}

59
Controller/DemoController.php

@ -0,0 +1,59 @@
<?php
namespace Plugins\ApiDoc\Controller;
use App\Util\Response;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\GetMapping;
use Hyperf\HttpServer\Annotation\PostMapping;
use Plugins\ApiDoc\Attributes\Api;
use Plugins\ApiDoc\Attributes\ApiBody;
use Plugins\ApiDoc\Attributes\ApiQuery;
use Plugins\ApiDoc\Attributes\ApiReturn;
use Psr\Http\Message\ResponseInterface;
/**
* API文档demo
*
* Class ApiDocDemo
*/
#[Controller('api/plugins/demo')]
class DemoController
{
/**
* 测试GET请求
*
* @return ResponseInterface
*/
#[Api]
#[ApiQuery('id', 'Integer', 'ID', true)]
#[ApiReturn('id', 'Integer', 'ID')]
#[ApiReturn('title', 'String', '标题')]
#[ApiReturn('describe', 'String', '描述')]
#[GetMapping(path: 'get')]
public function get(): ResponseInterface
{
return Response::json()->success();
}
/**
* 测试POST请求
*
* @return ResponseInterface
*/
#[Api]
#[ApiBody('id', 'Integer', 'ID', true)]
#[ApiReturn('id', 'Integer', 'ID')]
#[ApiReturn('title', 'String', '标题')]
#[ApiReturn('describe', 'String', '描述')]
#[PostMapping(path: 'post')]
public function post(): ResponseInterface
{
return Response::json()->success();
}
}
Loading…
Cancel
Save