だから、私は私のJavaアプリケーションにそのメソッドを持っています:
public String addAppointment(String service_id, String location_id, String start_date, String client_name, String client_phone, String client_email, String note, String session_token)
{
Map<String, String> args = new HashMap<String, String>();
args.put("service_id", service_id);
args.put("location_id", location_id);
args.put("start_date", start_date);
args.put("client_name", client_name);
args.put("client_phone", client_phone);
args.put("client_email", client_email);
args.put("note", note);
System.out.println(API_URL + "company/[censored]/appointment/?session_token="+ session_token);
String result = restTemplate.postForObject(API_URL + "company/[censored]/appointment/?session_token="+ session_token, args, String.class);
return result;
}
そして、私はその警告を受けました:
WARNING: POST request for "http://www.setster.com/api/v2/company/[censored]/appointment/?session_token=[censored]" resulted in 400 (Bad Request); invoking error handler
WARNING: StandardWrapperValve[setster]: PWC1406: Servlet.service() for servlet setster threw exception
その行を変更すると:
String result = restTemplate.postForObject(API_URL + "company/[censored]/appointment/?session_token="+ session_token, args, String.class);
為に:
String result = restTemplate.getForObject(API_URL + "company/[censored]/appointment/?session_token="+ session_token, String.class, args);
サーバーから正しい応答で成功メッセージを受け取ります。ただし、POST URL は問題なく、CURL を使用する PHP で問題なく動作します。
だから私の質問はです。私が間違っているのは何ですか?postForObjectで投稿を作成する別のオプションがありますか?