Я хочу создать этот тип JSON, используя swagger в laravel, как это возможно?
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/CustomerAuthenticateResponse"}
}
],
Как это создать этот маршрут: # / Определения / CustomerAuthenticateResponse ?
Я получил решение передать запрос тела (JSON) с помощью Swagger.
контроллер:
class abcController extends Controller
{
/*
* @SWG\Post(
* path="/api/user",
* tags={"User"},
* operationId="ApiV1saveUser",
* summary="Add User",
* consumes={"application/json"},
* produces={"application/json"},
* @SWG\Parameter(
* name="body",
* in="body",
* @SWG\Schema(ref="#/definitions/User"), //User Model
* ),
* @SWG\Response(
* response=200,
* description="Success"* ),
* )
*/
public function store(Request $request)
{
}
}
Модель пользователя:
/**
* @SWG\Definition(
* required={"name","email"},
* type="object",
* @SWG\Xml(name="User")
* ),
* @SWG\Property(format="byte", type="string", property="name", description="User Name"),
* @SWG\Property(format="byte", type="string",property="email", description="Email")
*/
class User extends Model
{
}
Спасибо,
Взгляните на это пакет
После установки вы можете поместить определения в phpdoc вашего контроллера.
class PetController
{
/**
* @OAS\Post(
* path="/pet",
* tags={"pet"},
* summary="Add a new pet to the store",
* operationId="addPet",
* @OAS\Response(
* response=405,
* description="Invalid input"* ),
* security={
* {"petstore_auth": {"write:pets", "read:pets"}}
* },
* requestBody={"$ref": "#/components/requestBodies/Pet"}
* )
*/
public function addPet()
{
}
}