2016-09-13 14 views
0

私はJavaでHTTP PATCHリクエストを作成しようとしていますが、私の努力にもかかわらず、これは機能しません。 私はJSONにパッチを適用しようとしています、ここに私のコードです:JavaのHTTP PATCHリクエスト

HttpResponse response = null; 
    BufferedReader rd = null; 
    StringBuffer result = new StringBuffer(); 
    String line = ""; 

    HttpClient httpclient = HttpClients.createDefault(); 
    HttpPatch httpPatch = new HttpPatch("http://myURL"); 

    JsonArrayBuilder Abuilder = Json.createArrayBuilder(); 
    JsonObjectBuilder oBuilder = Json.createObjectBuilder(); 
    for(int i=0;i<48;i++){ 
     Abuilder.add(i+1); 
    } 
    oBuilder.add("date", "2016-09-08"); 
    oBuilder.add("values",Abuilder); 

    JsonObject jo = Json.createObjectBuilder().add("puissance", Json.createObjectBuilder().add("curves",Json.createArrayBuilder().add(oBuilder))).build(); 

    try{    
     //Execute and get the response. 

     StringEntity params =new StringEntity(jo.toString()); 

     params.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
     httpPatch.setEntity(params); 

     response = httpclient.execute(httpPatch); 

     System.out.println("Response Code : " + response.getStatusLine().getStatusCode()); 
     rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
     while ((line = rd.readLine()) != null) { 
         System.out.println(line); 
         result.append(line); 
     } 

    }catch(Exception e){ 

    } 

私はこの要求を実行すると、私はポストマンを使用してこの要求を実行すると、私は

"400 Error: The request has an invalid header name".

を取得し、これが正常に動作しています。

私はHTTPリクエストでかなり新しいので、詳細が必要な場合はお気軽にお尋ねください。

+0

はあなたが見ることができる要求ペイロードの名前をヘッダに設定するStringEntity.setContentTypeを使用する必要がありますエンコードタイプ

を設定するために使用されていますか? –

+0

ヘッダー名を確認し、追加された迷惑メールや特殊文字がないか注意してください。 –

+0

こんにちは、ご協力ありがとうございます。 Sheetal、ヘッダー名のチェックについて話しているとき、あなたが何を話しているのか分からない、私の要求のヘッダーを意味していますか?もしそうなら、あなたはこれをする方法を知っていますか? (関数getHeaders(String name)がありますが、文字列を入力として使用する必要があるかどうかわかりません) – Nefarious62

答えて

1

StringEntity.setContentEncoding はあなたがContentTypeを

+0

こんにちはRoman、変更すると「401エラー」が表示されます – Nefarious62

+0

401 URLが必要ですか? –

+0

Roman確かにこれはログインの問題です、私はそこから調査します – Nefarious62

関連する問題