2017-02-17 29 views
2

私はApache Commons HttpClient Postメソッドを使用しています。 postメソッドでは、リクエストボディを設定する2つの方法があります。私の場合post bodyメソッドのリクエストボディ

1)setRequestBody(NameValuePair [])

2)setRequestEntity(RequestEntity)

、上記方法のための入力は、JSONオブジェクトであろう。 json ObjectをrequestBodyとしてどのように送信できますか? 2番目のオプションを使用する必要があります

+1

は詳細 – Jaiwo99

答えて

2

httpPost.setHeader("Accept", "application/json"); 
httpPost.setHeader("Content-type", "application/json"); 

String json = "{ \"key\" : \"value\" }"; 
StringEntity entity = new StringEntity(json); 
httpPost.setEntity(entity); 
+0

を提供してくださいしかし、私は、適切な応答メッセージを取得することができませんでした。チケットを一人のパラメターとして渡します。私は郵便配達員を使用してこれを投稿するとうまくいきますが、ここでは無効なチケットと言っているエラーメッセージが表示されます私はどこが間違っているのか分からない。 – kushi

+0

@kushi特定のヘルプが必要な場合は、さらに多くの情報を追加する必要があります。あなたのコード、特にあなたが送受信したもの、そしてどこにエラーがあるのか​​を投稿してください。 –

+0

setParameterメソッドを使用して、setEntityメソッドの前にいくつかのパラメータを設定します。 setParameterメソッドを使用せずにURLにパラメータを添付すると、応答が返されます。しかし、私がこのメソッドを使うと、私が与えたパラメータに間違ったことを言ってエラーが出る。 (parama "、" avalue ")を使用して設定すると、paramaというエラーが表示されます。たとえば、次のようになります。param =" bvalue "&paramc =" cvalue "例:someurl/parama =" avalue "間違っています。私の言いたいことが分かりますか? – kushi

関連する問題