@RestResource(urlMapping='/Xin_SearchVisitorPlace_Sales/*') global with sharing class Xin_SearchVisitorPlace_SalesRest { /** * reportDate yyyy/MM/dd */ @HttpPost global static void doPost(String query, String reporterState, String reportDate) { system.debug('Xin_SearchVisitorPlace_SalesRest.start'); Xin_SearchVisitorPlace_Sales ctl = new Xin_SearchVisitorPlace_Sales(); ctl.search(query, reporterState, reportDate); // 検索結果をMapのListに変換 List> rsList = new List>(); for (Account acc : ctl.results) { Map rs = new Map(); if (rsList.size() == ctl.results.size() - 1 && ctl.getIsOverLimit() == true) { rs.put('Id', ''); rs.put('Name', ''); rs.put('DisplayName', '检索结果超过了50件'); rsList.add(0, rs); } else { rs.put('Id', acc.Id); rs.put('Name', acc.Name); rs.put('DisplayName', acc.Name); rsList.add(rs); } } // JSONを戻す RestResponse res = RestContext.response; res.addHeader('Content-Type', 'application/json'); res.statusCode = 200; String jsonResponse = '{"status": "Success", "Message": ' + JSON.serialize(rsList) + '}'; res.responseBody = blob.valueOf(jsonResponse); return; } }