Generate Typescript Interfaces from Java Interfaces

You can use typescript-generator as larslonne mentioned. It generates TypeScript interfaces from Java JSON classes. Some features you may find useful:

  • Maven and Gradle plugin (can also be invoked directly from Java)
  • Jackson 1 and Jackson 2
  • collections, enums, inheritance, generics
  • Javadoc comments to JSDoc comments
  • detailed documentation (README, Wiki, Maven plugin)
  • releases in Maven central repo

Here is example how to use it from Maven:

<plugin>
    <groupId>cz.habarta.typescript-generator</groupId>
    <artifactId>typescript-generator-maven-plugin</artifactId>
    <version>1.25.322</version>
    <executions>
        <execution>
            <id>generate</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <phase>process-classes</phase>
            <configuration>
                <jsonLibrary>jackson2</jsonLibrary>
                <classes>
                    <class>com.acme.library.Book</class>
                </classes>
                <outputFile>target/rest.d.ts</outputFile>
                <outputKind>module</outputKind>
            </configuration>
        </execution>
    </executions>
</plugin>

Edit: Run it using mvn process-classes or using later phase like mvn install.
You can also pull <configuration> element two levels up and run mvn typescript-generator:generate.

Edit: I am the author of typescript-generator.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)