【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.