3

これは基本的なことですが、残りのエンドポイントにdojoから複数のパラメーターを投稿するのに問題があります。私のバックエンドには、resteasyを介して公開されている次の方法があります。

@POST()
@Path("/updateProduct")
@Consumes(MediaType.APPLICATION_JSON)
public void updateGeneralSettings(String session,Product product) {
    System.out.println("session"+session);
    System.out.println("product"+product.toString);
}

これは、Productをパラメーターとして使用するだけで完全に正常に機能します。別のパラメータを使用してジェイソン文字列を作成する方法をまだ理解していません。フォームからバインドするだけの製品データであり、これは私がそれに添付したかったいくつかの追加パラメーターです(つまりセッション)。

jsonData = dojo.toJson(product)

var handler = request.post(url, {
    data: jsonData,
    headers: {
        "Content-Type": 'application/json; charset=utf-8',
        "Accept": "application/json"
    }
});

あなたたちが私にいくつかの解決策を与えることができれば感謝します。

4

1 に答える 1

3

メソッドシグネチャにパラメータ名を追加してみてください。

public void updateGeneralSettings(@FormParam("session") String session, @FormParam("product") Product product)

そして次のようなもの:

var handler = request.post(url, {
    data: {
      session: session,
      product: jsonData
    },
    headers: {
      "Content-Type": 'application/json; charset=utf-8',
      "Accept": "application/json"
    }
});
于 2012-12-12T00:30:01.977 に答える