mirror of
https://github.com/halo-dev/docs.git
synced 2025-10-20 01:17:19 +00:00
docs: add docs for list options builder (#380)
### What this PR does? 添加 ListOptions builder 的文档说明 see also https://github.com/halo-dev/halo/pull/6148 ```release-note None ```
This commit is contained in:
@@ -118,10 +118,12 @@ public class ListOptions {
|
|||||||
`FieldSelector` 支持比自动生成的 APIs 中更多的查询条件,可以通过 `run.halo.app.extension.index.query.QueryFactory` 来构建。
|
`FieldSelector` 支持比自动生成的 APIs 中更多的查询条件,可以通过 `run.halo.app.extension.index.query.QueryFactory` 来构建。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
FieldSelector.of(QueryFactory.and(
|
ListOptions.builder()
|
||||||
QueryFactory.equal("name", "test"),
|
.fieldQuery(QueryFactory.and(
|
||||||
QueryFactory.equal("age", 18)
|
QueryFactory.equal("name", "test"),
|
||||||
))
|
QueryFactory.equal("age", 18)
|
||||||
|
))
|
||||||
|
.build();
|
||||||
```
|
```
|
||||||
|
|
||||||
支持的查询条件如下:
|
支持的查询条件如下:
|
||||||
@@ -166,9 +168,27 @@ Query query = and(
|
|||||||
or(equal("dept", "A"), equal("dept", "B")),
|
or(equal("dept", "A"), equal("dept", "B")),
|
||||||
or(equal("age", "19"), equal("age", "18"))
|
or(equal("age", "19"), equal("age", "18"))
|
||||||
);
|
);
|
||||||
FieldSelector.of(query);
|
ListOptions.builder()
|
||||||
|
.fieldQuery(query)
|
||||||
|
.build();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 构建 ListOptions
|
||||||
|
|
||||||
|
ListOptions 提供了 `builder` 方法用于构建查询条件,`fieldQuery` 方法用于传递字段查询条件,`labelSelector` 方法用于传递标签查询条件。
|
||||||
|
|
||||||
|
```java
|
||||||
|
ListOptions.builder()
|
||||||
|
.labelSelector()
|
||||||
|
.eq("key-1", "value-1")
|
||||||
|
.end()
|
||||||
|
.fieldQuery(QueryFactory.equal("key-2", "value-2"))
|
||||||
|
.build();
|
||||||
|
```
|
||||||
|
|
||||||
|
- `labelSelector` 之后使用 `end` 方法结束标签查询条件的构建。
|
||||||
|
- `andQuery` 和 `orQuery` 用于组合多个 `FieldSelector` 查询条件。
|
||||||
|
|
||||||
### 排序
|
### 排序
|
||||||
|
|
||||||
`listBy` 和 `listAll` 方法都支持传递 `Sort` 参数,用于传递排序条件。
|
`listBy` 和 `listAll` 方法都支持传递 `Sort` 参数,用于传递排序条件。
|
||||||
|
@@ -118,10 +118,12 @@ public class ListOptions {
|
|||||||
`FieldSelector` 支持比自动生成的 APIs 中更多的查询条件,可以通过 `run.halo.app.extension.index.query.QueryFactory` 来构建。
|
`FieldSelector` 支持比自动生成的 APIs 中更多的查询条件,可以通过 `run.halo.app.extension.index.query.QueryFactory` 来构建。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
FieldSelector.of(QueryFactory.and(
|
ListOptions.builder()
|
||||||
QueryFactory.equal("name", "test"),
|
.fieldQuery(QueryFactory.and(
|
||||||
QueryFactory.equal("age", 18)
|
QueryFactory.equal("name", "test"),
|
||||||
))
|
QueryFactory.equal("age", 18)
|
||||||
|
))
|
||||||
|
.build();
|
||||||
```
|
```
|
||||||
|
|
||||||
支持的查询条件如下:
|
支持的查询条件如下:
|
||||||
@@ -166,9 +168,27 @@ Query query = and(
|
|||||||
or(equal("dept", "A"), equal("dept", "B")),
|
or(equal("dept", "A"), equal("dept", "B")),
|
||||||
or(equal("age", "19"), equal("age", "18"))
|
or(equal("age", "19"), equal("age", "18"))
|
||||||
);
|
);
|
||||||
FieldSelector.of(query);
|
ListOptions.builder()
|
||||||
|
.fieldQuery(query)
|
||||||
|
.build();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 构建 ListOptions
|
||||||
|
|
||||||
|
ListOptions 提供了 `builder` 方法用于构建查询条件,`fieldQuery` 方法用于传递字段查询条件,`labelSelector` 方法用于传递标签查询条件。
|
||||||
|
|
||||||
|
```java
|
||||||
|
ListOptions.builder()
|
||||||
|
.labelSelector()
|
||||||
|
.eq("key-1", "value-1")
|
||||||
|
.end()
|
||||||
|
.fieldQuery(QueryFactory.equal("key-2", "value-2"))
|
||||||
|
.build();
|
||||||
|
```
|
||||||
|
|
||||||
|
- `labelSelector` 之后使用 `end` 方法结束标签查询条件的构建。
|
||||||
|
- `andQuery` 和 `orQuery` 用于组合多个 `FieldSelector` 查询条件。
|
||||||
|
|
||||||
### 排序
|
### 排序
|
||||||
|
|
||||||
`listBy` 和 `listAll` 方法都支持传递 `Sort` 参数,用于传递排序条件。
|
`listBy` 和 `listAll` 方法都支持传递 `Sort` 参数,用于传递排序条件。
|
||||||
|
Reference in New Issue
Block a user