【Salesforce】Rest APIのPOSTで引数が多い場合
SalesforceのRest APIのPOST処理を書いた場合、引数はリクエストのJSONに対応したものを書きますね。
たとえば、このようなJSONの場合は
{
"arg1":"val1",
"arg2":"val2"
}
このようなメソッドを用意することになると思います。
@HttpPost
global static String doPost(String arg1, String arg2) {
return null;
}
引数が少ない場合はこれで良いのですが、数が増えてくると面倒だったりします。
そんなとき、RestRequestを使うことでリクエストのbodyにセットされた値を持ってくることができます。
@HttpPost
global static String doPost() {
RestRequest req;
String strBody;
// HTTPリクエストを取得する
req = RestContext.request;
// bodyを取得し、文字列に変換する
strBody = req.requestBody.toString();
// 処理
return null;
}
取得した文字列は送信されたJSONそのままの文字列です。
そのため、取得した文字列を利用するには少し工夫をしなければいけません。
No comments.