3

Traverson の Spring-Hateoas で休憩サービスを利用したいのですが、Web で何も見つかりませんでした。Spring-Boot 1.1.10.RELEASEを使用しています。

クライアント コールは次のようになります。

... 

final Traverson traverson = new Traverson(new URI("http://localhost:8080/bbsng-app-rest"), MediaTypes.HAL_JSON);

...

そして、次の問題が発生します。

java.lang.NoClassDefFoundError: Could not initialize class org.springframework.hateoas.client.Traverson
at at.compax.bbsng.client.mvc.client.service.BerufServiceImpl.findeAlleBerufe(BerufServiceImpl.java:41)
at at.compax.bbsng.client.mvc.rest.controller.BerufController$1.call(BerufController.java:25)
at at.compax.bbsng.client.mvc.rest.controller.BerufController$1.call(BerufController.java:1)
at org.springframework.web.context.request.async.WebAsyncManager$4.run(WebAsyncManager.java:316)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:745)

=====

関連する構成:

POM:

...

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.hateoas</groupId>
        <artifactId>spring-hateoas</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.plugin</groupId>
        <artifactId>spring-plugin-core</artifactId>
        <version>1.1.0.RELEASE</version>
    </dependency>

...

アプリケーション クラス:

@Configuration
@EnableHypermediaSupport(type = HAL)
@EnableAutoConfiguration
public class ApplicationClientMvc {

    public static void main(final String[] args) {
        SpringApplication.run(ApplicationClientMvc.class, args);
    }

    ...

====

上記の URL を呼び出したときの Rest-Application Response:

{
   "link": null,
   "_links":
   {
       "self":
       {
           "href": "http://localhost:8080/bbsng-app-rest"
       },
       "berufe":
       {
           "href": "http://localhost:8080/bbsng-app-rest/beruf"
       },
       "betriebe":
       {
           "href": "http://localhost:8080/bbsng-app-rest/betrieb"
       },
       "fachrichtungen":
       {
           "href": "http://localhost:8080/bbsng-app-rest/fachrichtung"
       }
   }
}

助けてくれてありがとう。

4

1 に答える 1

5

ああ、Spring-Hateoas には追加の依存関係 Json-Path が必要なようです。

したがって、次の依存関係が予想されます。

    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
    </dependency>
于 2014-12-30T20:51:06.700 に答える