Symfony4 使用 crud 生成 API 休息

Posted

技术标签:

【中文标题】Symfony4 使用 crud 生成 API 休息【英文标题】:Symfony4 generate API rest with crud 【发布时间】:2021-03-13 06:52:03 【问题描述】:

我正在尝试使用 Symfony4 生成 API Rest。

使用我现有的数据库和学说,我生成所有实体,使用 make bundle 我生成 CRUD 控制器。

结果实际上是html,我需要手动更改结果,例如:

return $this->render('user/show.html.twig', [
            'user' => $user,
        ]);

通过

$data =  $this->get('serializer')->serialize($user, 'json');

$response = new Response($data);
$response->headers->set('Content-Type', 'application/json');

return $response;

我在生成 CRUD 时是否遗漏了什么?是否可以直接用 Json Response 生成?

【问题讨论】:

【参考方案1】:

如果您阅读文档https://symfony.com/doc/current/bundles/SensioGeneratorBundle/commands/generate_doctrine_crud.html,似乎所有可用选项都是:

--entity --route-prefix --with-write --format --overwrite

我没有看到以您想要的方式生成控制器的任何选项,所以它可能不是,您不能直接使用 Json Response 生成它。

【讨论】:

我不使用 SensioGeneratorBundle,因为它已被弃用,我问这个问题是因为可能是其他捆绑包允许我这样做

以上是关于Symfony4 使用 crud 生成 API 休息的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 4 覆盖 Sonata Admin CRUD 控制器

Hibernate——主键生成策略CRUD 基础API区别的总结 和 注解的使用

Symfony 4 Restful API 使用 JWT 和 facebook 登录

无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接口

Symfony 4 API 平台和 JWT:如何使用 Symfony 客户端项目登录 API?

Symfony4 REST API (LexikJWTAuthenticationBundle) 的并发请求