はじめに
restApiでJsonデータを受け取る機能を実装した際、
お作法的に何も考えず書いていましたが、
ちゃんと理解したくて調べたのでまとめます。
↓ この部分
RestRequest req = RestContext.request;
RestResponse res = RestContext.response;
RestContext クラスについて
イメージと、IT的なちゃんとした表現両方書きます。
RestContext
向こうからのリクエストもこちらからの返答も入っている、「通信内容全体をまとめているクラス」
RestContext クラス
RestRequest オブジェクトと RestResponse オブジェクトを含みます。
RestContext.request
向こう側からのリクエストが入っている
→ クライアント(外部)から送られてきたリクエスト情報を保持
RestContext.response
こちらからの返答が入っている
→ サーバー(こちら側/Salesforce) から返すレスポンス情報を設定
RestContextからの取り出し方
RestContext.requestはRestRequest型、
RestContext.responseはRestResponse型であるため、
RestRequest req = RestContext.request;
RestResponse res = RestContext.response;
このようにしてリクエストとレスポンスを取り出し、中身を変数に入れている。
Accountクラスで例えると
String str = Account.Name;
Integer num = Account.NumberOfEmployees;
〇Accountの中にNameやNumberOfEmployeesの情報が入っていて、
★それぞれString型とInteger型であるため、
◇それぞれに適した型の変数を用意し、中身を格納している。
RestContextでもやっていることは同じで、
〇RestContextのなかにrequestとresponseの情報が入っていて、
★それぞれRestRequest型とRestResponse型であるため、
◇それぞれに適した型の変数を用意し、中身を格納している。
おわりに
お作法コードの意味を理解できてよかったです
参考