-1

POST URLにjsonデータを送信しています。このコードは、ローカル環境 (Tomcat + Windows) では問題なく動作しますが、運用環境 (Tomcat + Linux) では動作しません。すでにさまざまなリンクを参照していますが、どれも私を助けてくれませんでした。

実稼働環境で os を発行します。サーバーから一部のファイルが削除されたのはかなり前のことです。Tomcat が破損している可能性がありますが、残りのすべての URL は正常に動作しています。これは私が行っている新しい開発です。

また、Firefoxの残りのクライアントをヒットした場合も同じ動作があります。

エラー

リクエスト エンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーはこのリクエストを拒否しました

Jクエリコード

$.ajax({
        type : "POST",
        url : "/add",
        data : JSON.stringify(data),
        dataType: 'json',
        headers: { 
            'Accept': 'application/json',
            'Content-Type': 'application/json' 
            },
        success : function(resp) {
            console.log(resp);          
        }
    });

スプリングコントローラー

@RequestMapping(value = "/add", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
    public @ResponseBody String addDishDetails(
            @RequestBody MyPojo pojo) {
        return "success";
    }

pom.xml

ジャーの下にも追加

<dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.13</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.3</version>
        </dependency>
4

2 に答える 2

0

エラーから、クライアントがサーバーが期待するタイプでリクエストを送信していない、クライアントがjsonを送信していて、cosumes=MediaType.APPLICATION_JSON_VALUEを定義していて、それをMediaType.APPLICATION_JSONのみに置き換えて、acceptパラメーターを指定した場合はどうなるかそれを削除するか、コントローラーのapplication/jsonにプロデュース プロパティを追加します。

于 2016-08-05T19:10:11.247 に答える