如何使用HR2Day的REST API仅获取员工资源?
解决HR2Day REST API查询员工资源的方案
由于HR2Day的REST API采用基于查询的模式,而非常规RESTful的路径指定实体风格,所以无法通过/employees或ID路径直接过滤,需用查询参数精准定位员工实体,具体操作如下:
- 确认员工实体名称:先查HR2Day官方API文档,明确员工对应的实体标识(通常是
Employee或Employees,不同版本可能有差异)。 - 构造查询请求:
- 获取所有员工:在请求URL后拼接实体查询参数,比如
GET /api/v1/query?entity=Employee - 按ID查询单个员工:添加ID筛选参数,比如
GET /api/v1/query?entity=Employee&id=12345
- 获取所有员工:在请求URL后拼接实体查询参数,比如
- 按需筛选字段(可选):如果不需要返回员工的全部字段,可追加字段过滤参数,比如
GET /api/v1/query?entity=Employee&fields=Id,Name,Department,Email - Salesforce端调用示例:在Apex代码中正确拼接参数,示例如下:
Http http = new Http(); HttpRequest request = new HttpRequest(); // 替换为HR2Day的实际API域名和版本 request.setEndpoint('https://hr2day-api.example.com/api/v1/query?entity=Employee'); request.setMethod('GET'); // 替换为有效的HR2Day授权令牌 request.setHeader('Authorization', 'Bearer ' + hr2dayAuthToken); HttpResponse response = http.send(request); if (response.getStatusCode() == 200) { // 解析返回的员工JSON数据 Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(response.getBody()); List<Object> employees = (List<Object>)result.get('data'); // 后续业务处理 } - 排查问题:如果返回结果仍不符合预期,核对文档确认参数名(部分系统可能用
type而非entity)、实体名称的拼写是否正确,或是否需要额外的权限参数。
内容的提问来源于stack exchange,提问作者Rockefeller
相关产品推荐
相关产品推荐

