Error when generating typescript for an endpoint named "resource"
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- php, typescript
调研方向
首先,使用名为 Resource 的 ApiResource,通过 npm init @api-platform/client http://localhost apiTypes -- --generator typescript 重现该失败。跟踪 TypeScript 生成器对端点名称 resource 的处理,并确认针对它的生成能够完成,就像设置 shortName: 'Res' 后一样。
由索引模型根据 Issue 内容生成。
描述
API Platform version(s) affected: 4.0.8
Description
When generating typescript types using the command npm init @api-platform/client http://localhost apiTypes -- --generator typescript I get the following error:
Error: Cannot find the class related to http://localhost:8095/docs.jsonld#Entrypoint/resource.
This only occurs if I have an ApiResource/Entity named 'Resource'. Renaming it resolves the error.
How to reproduce
Create an API resource as below, and then runnpm init @api-platform/client http://localhost apiTypes -- --generator typescript:
namespace App\Entity;
use ApiPlatform\Metadata\ApiResource;
use App\Repository\ResourceRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Uid\Uuid;
#[ORM\Entity(repositoryClass: ResourceRepository::class)]
#[ApiResource]
class Resource
{
#[ORM\Id]
#[ORM\Column(type: 'uuid', unique: true)]
private ?Uuid $id;
#[ORM\Column(length: 255)]
private ?string $name = null;
#[ORM\Column]
private ?\DateTimeImmutable $createdAt;
public function getId(): ?Uuid
{
return $this->id;
}
public function __construct()
{
$this->id = Uuid::v4();
$this->createdAt = new \DateTimeImmutable();
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): static
{
$this->name = $name;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): static
{
$this->createdAt = $createdAt;
return $this;
}
}
Changing the shortname resolves the issue:
#[ApiResource(
shortName: 'Res'
)]
> npm init @api-platform/client http://localhost apiTypes -- --generator typescript
Interface for the "Res" resource type has been generated!
Interface for the "User" resource type has been generated!
- 主要语言
- TypeScript
- 星标
- 376
- 派生
- 133
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
api-platform/create-client 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 35/100
api-platform/create-client#396 ·
-
[potential Security Alert] New `test-nuxt-app` script added in `@api-platform/[email protected]`未关闭
难度 4/5 3-5 天 新手友好度 38/100
api-platform/create-client#397 ·
-
[potential Security Alert] New `test-next-app` script added in `@api-platform/[email protected]`未关闭
难度 3/5 1-2 天 新手友好度 45/100
api-platform/create-client#395 ·
-
[potential Security Alert] New `test-react-app` script added in `@api-platform/[email protected]`未关闭
难度 4/5 3-5 天 新手友好度 35/100
api-platform/create-client#394 ·
-
难度 4/5 3-5 天 新手友好度 25/100
api-platform/create-client#393 · 1 条评论 ·
查看 api-platform/create-client 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
high priority
难度 2/5 1-3 小时 新手友好度 62/100
CI-CMG/deep-sea-corals-exb#84 · 1 条评论 ·
-
Create/import wallet form shows raw "password must be at least 1 characters" instead of the translated message可能已有人在做 @CapThunder19 今天认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 82/100
joinmarket-webui/jam#1538 ·
维护者通常 1 天内回复
-
t0ggles
难度 2/5 1-3 小时 新手友好度 70/100
nolimits4web/swiper#8240 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复