1.po开发
在项目目录“/src/main/java/com/example/es”下新建po目录,并在po目录下新建Employee实体类,具体代码如下。
@Data
public class Employee implements IdProvider {
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
@JsonProperty("age")
private Integer age;
@JsonProperty("birthday")
private String birthday;
@JsonProperty("job")
private String job;
@JsonProperty("salary")
private Float salary;
@Override
public String getId() {
return id;
}
}
2.mapper开发
在项目目录“/src/main/java/com/example/es”下新建mapper目录,并在mapper目录下新建EmployeeMapper接口,具体代码如下。
@EasyMapper(indices = "employee", clusterRouter = "sampleCluster")
public interface EmployeeMapper {
@Get
Employee getEmployee(Employee employee);
@Get
Employee getEmployee(String id);
@Get
Optional getEmployeeOptional(String id);
@Get
GetResponse getEmployeeGetResponse(String id);
@Get
CompletableFuture> getEmployeeCompletableFuture(String id);
}
3.controller开发
在项目目录“/src/main/java/com/example/es”下新建controller目录,并在controller目录下新建EmployeeController类,以indexEmployeeString接口为例演示开发步骤,具体代码如下。
@RestController
@RequestMapping("/employee")
public class EmployeeController {
@Resource
private EmployeeMapper employeeMapper;
@ResponseBody
@RequestMapping(value = "/getEmployee", method = RequestMethod.POST)
public Employee getEmployee(@RequestBody Employee employee) {
return employeeMapper.getEmployee(employee);
}
}
4.测试
启动项目,然后在postman中请求“http://localhost:8080/employee/getEmployee”,成功后返回文档id所对应的文档信息。
{
"id":"10001"
}
{
"id": "10001",
"name": "Mike Owen",
"age": 31,
"birthday": "1991-08-01",
"job": "CEO",
"salary": 60000.0
}
5.@Get属性说明
| 序号 | 属性名 | 默认值 | 说明 |
|---|---|---|---|
| 1 | preference | 设置查询偏好,影响查询的分片策略 | |
| 2 | refresh | false | 设置是否刷新,默认不刷新 |
| 3 | realtime | true | 设置是否实时查询,默认实时 |



