我正在使用带有Symfony 4的Api平台,并且我想创建一个自定义端点。一切正常,但是我不能改变两件事:主体和响应格式(在openapi文档中)。
参数和响应状态代码工作正常。
* "login"={
* "route_name"="api_login",
* "method" = "post",
* "openapi_context" = {
* "parameters" = {},
* "body" = {
* "description" ="Username and password",
* "schema" = {
* "type" = "object",
* "required" = {"email","password"},
* "properties" = {
* "email" = {
* "type" = "string"
* },
* "password" = {
* "type" = "string"
* }
* }
* }
* },
* "responses" = {
* "200" = {
* "description" = "User logged in",
* "schema" = {
* "type" = "object",
* "required" = {
* "token",
* "refresh_token"
* },
* "properties" = {
* "token" = {
* "type" = "string"
* },
* "refresh_token" = {
* "type" = "string"
* }
* }
* }
* },
* "401" = {
* "description" = "invalid password or email"
* }
* },
* "summary" = "Login user in application",
* "consumes" = {
* "application/json",
* "text/html",
* },
* "produces" = {
* "application/json"
* }
* }
* }
发布于 2020-04-13 18:51:01
这适用于我,请参阅文档。https://swagger.io/docs/specification/describing-request-body/
* @ApiResource(
* collectionOperations={
* "get": {
* "method": "GET",
* "access_control": "is_granted('ROLE_USER', object)",
* },
* "post": {
* "method": "POST",
* "access_control": "is_granted('ROLE_USER', object)",
* "openapi_context": {
* "requestBody": {
* "content": {
* "application/ld+json": {
* "schema": {
* "type": "object",
* "properties": {
* "token": {"type": "string", "example": "email@example.com"},
* "refresh_token": {"type": "string", "example": "123456"},
* },
* },
* },
* },
* },
* },
* },
* }
* )
发布于 2019-10-24 19:47:48
看看this response on api-platform的问题(这里的文档是用yaml很好地格式化的,而不是保存在php数组中,这是个不错的主意)和read the docs,它们可能会帮助你以任何你想要的方式装饰文档。
https://stackoverflow.com/questions/58515294
复制相似问题