Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Error when generating typescript for an endpoint named "resource"

Abierto
#389 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
php, typescript
Área
api, tooling

Línea de trabajo

Empieza reproduciendo el fallo con npm init @api-platform/client http://localhost apiTypes -- --generator typescript usando un ApiResource llamado Resource. Sigue cómo el generador de TypeScript procesa el nombre de endpoint resource y confirma que la generación se completa para este caso, igual que después de establecer shortName: 'Res'.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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!
Lenguaje dominante
TypeScript
Estrellas
376
Forks
132
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de api-platform/create-client

Todos los issues de api-platform/create-client

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.