Код: Выделить всё
package com.acme.library;
public interface Book {
com.acme.library.Author getAuthor();
String getTitle();
}
< /code>
Из реализации POJO этого интерфейса Джексон в целом сериализует следующую сущность: < /p>
{
"author": { "name": "F. Scott Fitzgerald"},
"title": "The Great Gatsby"
}
< /code>
Эта полезная нагрузка будет получена с использованием HTTP GET из моего приложения TypeScript, которое основано на AngularJS: < /p>
$http.get("http://localhost/books/0743273567")
.success((book: Book) => { ... });
< /code>
Так что я могу использовать твердое природу TypeScript, я обнаружил, что вручную кодирую следующий интерфейс TypeScript: < /p>
module com.acme.library {
export interface Book {
author: com.acme.library.Author;
title: String;
}
}
< /code>
В результате я должен сохранить две копии этого же интерфейса, что в лучшем случае является громоздким. Это становится особенно неприятным, так как я хотел бы иметь одни и те же комментарии Javadoc /jsdoc на обоих интерфейсах, в которых участвует целая куча копии и вставки. Таким образом, я хотел бы найти какой-то инструмент, который способен преобразовать из декларации интерфейса Java (через API отражения?) В соответствующий интерфейс TypeScript. Тем не менее, это слишком тяжело для моего использования. Он добавляет методы из иерархии объекта к каждому интерфейсу, например, hashcode () Подробнее здесь: https://stackoverflow.com/questions/324 ... interfaces