spring-boot-starter-webを使用した「許容できる表現が見つかりませんでした」

crowmagnumb:

spring-boot-starter-webJavaオブジェクトのJSON表現を提供するRESTサービスを作成するために使用しようとしています。私が理解していることから、このboot-starter-web jarは、Jacksonを介してJSONへの変換を自動的に処理することになっていますが、代わりにこのエラーが発生します。

{ 
  "timestamp": 1423693929568,
  "status": 406,
  "error": "Not Acceptable",
  "exception": "org.springframework.web.HttpMediaTypeNotAcceptableException",
  "message": "Could not find acceptable representation"
}

私のコントローラーはこれです...

@RestController
@RequestMapping(value = "/media")
public class MediaController {
    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public @ResponseBody UploadResult test(@RequestParam(value="data") final String data) {
      String value = "hello, test with data [" + data + "]"; 
      return new UploadResult(value);
    }

    @RequestMapping(value = "/test2", method = RequestMethod.POST)
    public int test2() {
        return 42;
    }

    @RequestMapping(value = "/test3", method = RequestMethod.POST)
    public String test3(@RequestParam(value="data") final String data) {
        String value = "hello, test with data [" + data + "]"; 
        UploadResult upload = new UploadResult(value);
        return upload.value;
    }


    public static class UploadResult {
        private String value;
        public UploadResult(final String value)
        {
            this.value = value;
        }
    }
}

pom.xmlが持っている...

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>1.2.1.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>1.2.1.RELEASE</version>
    <scope>provided</scope>
</dependency>

mvn dependency:tree spring-boot-starter-webは確かにjackson2.4 databindに依存しているため、クラスパス上にあるはずです...

[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.2.1.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:1.2.1.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:1.2.1.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.2.1.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.2.1.RELEASE:compile
[INFO] |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.8:compile
[INFO] |  |  |  \- org.slf4j:log4j-over-slf4j:jar:1.7.8:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.14:runtime
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.4.0:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.4.4:compile
[INFO] |  +- org.hibernate:hibernate-validator:jar:5.1.3.Final:compile
[INFO] |  |  +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  |  \- com.fasterxml:classmate:jar:1.0.0:compile
[INFO] |  +- org.springframework:spring-web:jar:4.1.4.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-aop:jar:4.1.4.RELEASE:compile
[INFO] |  |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  |  +- org.springframework:spring-beans:jar:4.1.4.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-context:jar:4.1.4.RELEASE:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:4.1.4.RELEASE:compile
[INFO] |     \- org.springframework:spring-expression:jar:4.1.4.RELEASE:compile

... testサービスを呼び出すと、上記のエラーが発生します。test2そして、test3仕事の罰金はそれだけで失敗しているJSONしようと変換しなければならないことを証明しますか?設定の問題や注釈が不足していますか?私が見つけることができるすべての例から、基本的なジャクソンJSON変換のクラスに注釈を付ける必要はなくなりました。

どんな助けも大歓迎です。

ikumen :

UpdateResultのパブリックゲッターはありません。次に例を示します。

public static class UploadResult {
    private String value;
    public UploadResult(final String value)
    {
        this.value = value;
    }

    public String getValue() {
       return this.value;
    }
}

デフォルトでは自動検出がオンになっており、ゲッターの検出を試みます。あなたはそれでそれを無効にすることができ@JsonAutoDetect(getterVisibility=Visibility.NONE)、あなたの例では結果になり[]ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

分類Dev

org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

分類Dev

org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

分類Dev

org.springframework.boot:spring-boot-starter-log4jが見つかりませんでした

分類Dev

Spring BootはGradleを使用してspring-boot-starter-dao-jpaパッケージを見つけることができませんか?

分類Dev

axon-spring-boot-starterを使用したNoHandlerForCommandException

分類Dev

spring-boot-starter-jpaを使用したQuerydslPredicate

分類Dev

春のinitializr:spring-boot-starter vs spring-boot-starter-web

分類Dev

spring-boot-starter-tomcatとspring-boot-starter-web

分類Dev

spring-boot-starter-webfluxはAcceptHeaderLocaleResolverを使用できません

分類Dev

Using Spring-Boot-Starter-Web in combination with ObjectDB

分類Dev

spring-boot-starter-web @ Autowiredが機能していません

分類Dev

spring-boot-starter-parentの使用を避けるために、spring-boot-starterをspring-bootに簡単に置き換えることはできますか?

分類Dev

spring-boot-starter のみを含む

分類Dev

spring-boot-starter-webとspring-boot-starter-webfluxは一緒に動作しませんか?

分類Dev

SpringApplicationConfigurationが見つかりません:誤ったspring-boot-starter-testコンテンツ?

分類Dev

camunda Spring Boot Starter with GradleでprocessEngineConfigurationImpl Beanが見つからない

分類Dev

spring-boot-cliの実行中に、ローカル開発者グループでアーティファクトorg.springframework.boot:spring-boot-starter:jar:2.0.0.BUILD-SNAPSHOTが見つかりませんでした

分類Dev

cxf-spring-boot-starter-jaxwsを使用したxmlDatabinding構成

分類Dev

プロジェクト 'org.springframework.boot:spring-boot-starter-parent:2.4.0'が見つかりません

分類Dev

Tomcatとspring-boot-starter

分類Dev

spring-boot、spring-boot-starter-data-jpa:データベースタイプNONEまたは変更ログの場所が見つかりません

分類Dev

Spring Boot Starterアプリgraphql-spring-boot-starterを使用して2つのgraphqlエンドポイントを公開する方法はありますか?

分類Dev

Cosmosdb保存済みデータはポータルでは見つかりませんが、azure-documentdb-spring-boot-starterからは見つかりません

分類Dev

Spring Boot-Spring Boot Starter Actuatorの問題

分類Dev

Spring-boot:beanが見つかりませんでした

分類Dev

Spring Boot 2.1 EntityManagerFactory Beanが見つかりませんでした

分類Dev

Spring boot "spring-boot-starter-mail"経由でメールを送信する

分類Dev

optaplanner-spring-boot-starterとkie-server-spring-boot-starter

Related 関連記事

  1. 1

    org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

  2. 2

    org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

  3. 3

    org.springframework.boot:spring-boot-starter-velocityが見つかりませんでした

  4. 4

    org.springframework.boot:spring-boot-starter-log4jが見つかりませんでした

  5. 5

    Spring BootはGradleを使用してspring-boot-starter-dao-jpaパッケージを見つけることができませんか?

  6. 6

    axon-spring-boot-starterを使用したNoHandlerForCommandException

  7. 7

    spring-boot-starter-jpaを使用したQuerydslPredicate

  8. 8

    春のinitializr:spring-boot-starter vs spring-boot-starter-web

  9. 9

    spring-boot-starter-tomcatとspring-boot-starter-web

  10. 10

    spring-boot-starter-webfluxはAcceptHeaderLocaleResolverを使用できません

  11. 11

    Using Spring-Boot-Starter-Web in combination with ObjectDB

  12. 12

    spring-boot-starter-web @ Autowiredが機能していません

  13. 13

    spring-boot-starter-parentの使用を避けるために、spring-boot-starterをspring-bootに簡単に置き換えることはできますか?

  14. 14

    spring-boot-starter のみを含む

  15. 15

    spring-boot-starter-webとspring-boot-starter-webfluxは一緒に動作しませんか?

  16. 16

    SpringApplicationConfigurationが見つかりません:誤ったspring-boot-starter-testコンテンツ?

  17. 17

    camunda Spring Boot Starter with GradleでprocessEngineConfigurationImpl Beanが見つからない

  18. 18

    spring-boot-cliの実行中に、ローカル開発者グループでアーティファクトorg.springframework.boot:spring-boot-starter:jar:2.0.0.BUILD-SNAPSHOTが見つかりませんでした

  19. 19

    cxf-spring-boot-starter-jaxwsを使用したxmlDatabinding構成

  20. 20

    プロジェクト 'org.springframework.boot:spring-boot-starter-parent:2.4.0'が見つかりません

  21. 21

    Tomcatとspring-boot-starter

  22. 22

    spring-boot、spring-boot-starter-data-jpa:データベースタイプNONEまたは変更ログの場所が見つかりません

  23. 23

    Spring Boot Starterアプリgraphql-spring-boot-starterを使用して2つのgraphqlエンドポイントを公開する方法はありますか?

  24. 24

    Cosmosdb保存済みデータはポータルでは見つかりませんが、azure-documentdb-spring-boot-starterからは見つかりません

  25. 25

    Spring Boot-Spring Boot Starter Actuatorの問題

  26. 26

    Spring-boot:beanが見つかりませんでした

  27. 27

    Spring Boot 2.1 EntityManagerFactory Beanが見つかりませんでした

  28. 28

    Spring boot "spring-boot-starter-mail"経由でメールを送信する

  29. 29

    optaplanner-spring-boot-starterとkie-server-spring-boot-starter

ホットタグ

アーカイブ