Как включить в мой проект spring-boot-hateoas-starter, который содержит версию spring-hateoas 1.0.0.M1 - PullRequest
1 голос
/ 15 марта 2019

В настоящее время я пытаюсь перенести API, встроенный в .NET, в Java, используя Spring и связанные с ним компоненты. Единственное, что мешает мне завершить этот проект, - это отсутствие возможностей в текущей версии Spring HATEOAS (0.25.1), я стараюсь максимально точно реплицировать контракты на данные, чтобы не допустить взлома клиентов, которые в настоящее время потребляют API.

Spring HATEOAS включается через зависимость Maven spring-boot-starter-hateoas.

Я пробовал текущий снимок сборки зависимости для начинающих, но безрезультатно (последняя библиотека spring-hateos не включена в снимок сборки для запуска).

1) Есть ли способ включить текущий выпуск этапа в мой проект? Если да, то как ты порекомендую мне это сделать?

2) Если нет способа сделать это, есть ли у кого-нибудь предложения о том, как добавить концепцию Affordance в текущую версию? (Возникновение некоторого технического долга на данный момент не является проблемой, поэтому, если у вас есть неэгидная работа, поделитесь им, это поможет мне концептуально).

3) Было бы лучше создать объект возврата HTTP в виде HashMap и сериализовать его в JSON? (Я понимаю, что ссылки путей и т. Д. Должны обрабатываться вручную)

Другие версии: spring-boot-starter-parent: 2.1.3.RELEASE

Спасибо

1 Ответ

1 голос
/ 15 марта 2019

Относительно вопрос 1) Добавьте следующую зависимость и не забывайте, что на данный момент она возникает из репозитория Spring Milestone.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
    <version>2.2.0.M1</version>
</dependency>

<repositories>
    <repository> 
        <id>repository.spring.milestone</id> 
        <name>Spring Milestone Repository</name> 
        <url>http://repo.spring.io/milestone</url> 
    </repository>
</repositories>

В качестве альтернативы вы можете использоватьцелое spring-boot-starter в версии 2.2.0.M1, которое также содержит spring-boot-starter-hateoas в 1.0.0.M1.

Вопрос 2) больше не должен вас касаться, вопрос 1) кажется более простым для решения.

Относительно вопрос 3) ИМХО объект со строгой типизацией (ответный) должен быть почти везде предпочтительным, так как он делает ваши намерения более ясными, более легким в обслуживании и проверке и освобождает вас отлюбые опасения по поводу приведения или неявного преобразования типов и т. д.

...