首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[接口平台][Symfony 4]如何在Swagger (OpenAPI)中添加端点?

[接口平台][Symfony 4]如何在Swagger (OpenAPI)中添加端点?
EN

Stack Overflow用户
提问于 2019-02-22 16:38:05
回答 1查看 2.2K关注 0票数 2

我在Symfony 4中使用Symfony Flex和Composer,并在我的应用程序中安装了API平台的服务器组件。

如何在自定义控制器的Swagger (OpenAPI)中添加端点?

代码语言:javascript
复制
<?php
/**
 * Application features
 */

namespace App\Controller;

use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

/**
 * Checks if the service is alive.
 *
 * @package Behat\Behat\Context\Context
 */
class HealthcheckController
{
    /**
     * @Route(
     *     name="api_healthcheck_entrypoint",
     *     path="/api/ping",
     *     methods={"GET"},
     * )
     */
    public function __invoke()
    {
        return new JsonResponse(array('ping' => 'pong'));
    }
}

docker-compose exec php bin/console api:swagger:export

代码语言:javascript
复制
    {
        "swagger": "2.0",
        "basePath": "\/",
        "info": {
            "title": "FastTony.es",
            "version": "0.0.1"
        },
        "paths": {},
        "securityDefinitions": {
            "apiKey": {
                "type": "apiKey",
                "in": "header",
                "description": "Value for the Authorization header",
                "name": "Authorization"
            }
        },
        "security": [
            {
                "apiKey": []
            }
        ]
    }
EN

回答 1

Stack Overflow用户

发布于 2019-02-22 20:01:27

您必须在实体中执行此操作。您必须拥有ApiResource注释,才能在其中添加自定义操作。在这种情况下,您必须将此注释放入:

代码语言:javascript
复制
 *          "api_healthcheck_entrypoint"={
 *              "controller"=HealthcheckControllerAction::class,
 *              "method"="GET",
 *              "path"="/api/ping
 *              "defaults"={"_api_receive"=false},",
 *              "normalization_context"={
 *                  "groups"={"ping"}
 *              }

https://api-platform.com/docs/core/operations/#creating-custom-operations-and-controllers

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54823044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档