Сейчча Параметер Иmpl<> (Усер. класс). сэт сейарч скоуп (сейарч скоуп). сэт игнер (игнер). сэт кондишн (кондишн));
Деловой слой предоставляет универсальный интерфейс BaseService<Object>
<зависимость>
<группаИд>кул. лази-кат</группаИд>
<артефактИд>orm-api-spring-boot-стартер</артефактИд>
<версия>2.4.0</версия>
</зависимость>
Проект orm-api предоставляет функционал автоматического сопоставления методов API. Он зависит от orm-core.
Для API-сопоставления необходим корневой вход, по умолчанию это lazy-cat. Вы можете настроить атрибут apiPath в ApiConfig для изменения.
Пример:
// api запрос пути = api корневой путь + '/' + namespace + '/' + path
@ApiPojo(namespace = "user", entry = {
@Entry(path = "selectPage", api = QueryPageApiEntry.class, methods = {HttpMethod.POST}),
@Entry(path = "select", api = QueryApiEntry.class),
@Entry(path = "save", api = SaveApiEntry.class),
@Entry(path = "saveForce", api = SaveCascadeApiEntry.class),
@Entry(path = "delete", api = RemoveApiEntry.class, методы = HttpMethod.POST),
@Entry(path = "delete", api = RemoveApiEntry.class, методы = {HttpMethod.DELETE, HttpMethod.GET}),
@Entry(path = "deleteForce", api = RemoveCascadeApiEntry.class)
})
@Pojo(table = @Table(schema = "app_core", tableName = "acc_user"))
public class User {
}
Теперь запрос http://{server:port}/lazy-cat/user/select вызовет интерфейс QueryApiEntry при условии, что этот класс управляется сканированием lazy-cat-orm-core.
Вы можете использовать аннотацию @ApiQueryFilter для маркировки условий запроса:
@Column(sort = 10)
// условие запроса
@ApiQueryFilter(In.class)
public String getName() {
return name;
}
@Column(validator = @Validator(type = CommonValidator.class, notNull = true, parameter = {@Parameter(name = CommonValidator.VALIDATE_INFO_KEY, value = ValidateConstant.VALIDATE_HUMAN_AGE_KEY)}), sort = 20)
// условие запроса
@ApiQueryFilter(Equals.class)
public Integer getAge() {
return age;
}
HTTP-запрос параметров (QueryInfo.class):
{
"pageSize": 50000,
"startIndex": 0,
"params": {
"name": [
"金克拉",
"艾莉丝"
]
},
"orderFields": [
"createDate"
],
"ignoreFields": [],
"asc": true
}
orm-api предлагает семь интерфейсов:
Интерфейс | Параметры | Сопоставляемый метод API |
---|---|---|
QueryApiEntry | QueryInfo.class | commonApiService.select(queryInfo) |
QueryPageApiEntry | QueryInfo.class | commonApiService.selectPage(queryInfo) |
RemoveApiEntry | List<Object> |
baseService.deleteByInfer(dataList, false) |
RemoveCascadeApiEntry | List<Object> |
baseService.deleteByInfer(dataList, true) |
RemoveByIdsApiEntry | List<String> |
baseService.deleteByIdsAndInfer(pojoType, ids) |
SaveApiEntry | List<Object> |
baseService.save(dataList, false) |
SaveCascadeApiEntry | List<Object> |
baseService.save(dataList, true) |
Также можно расширить [пользовательские API](#расширение пользовательских API) и настроить параметры запроса, ответы и логику выполнения.
Помимо использования аннотаций для настройки путей запросов, orm-api также предоставляет способ настройки параметров API через конфигурационные файлы.
cool:
lazy-cat:
servlet:
# настройка корневого пути API
api-path: api
# объявление использования конфигурации файла
api-pojo-subject-registry-instance: cool.lazy.cat.orm.api.manager.provider.ConfigFileApiPojoSubjectProvider
# конфигурация API
api-entries:
- pojo-type: com.jason.test.pojo.mysql.User
namespace: user
properties:
- path: select
api: cool.lazy.cat.orm.api.web.entrust.method.QueryApiEntry
allow-methods: POST,GET
query-filters:
# полевое условие запроса
- field: name
condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.In
# полевое условие запроса
- field: age
condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.Equals
- pojo-type: com.jason.test.pojo.mysql.Office
namespace: officeTest
properties:
- path: selectPage
api: cool.lazy.cat.orm.api.web.entrust.method.QueryApiEntry
allow-methods: POST,GET
query-filters:
# полевое условие запроса
- field: name
condition: cool.lazy.cat.orm.core.jdbc.sql.condition.type.In
JdbcConfig конфигурации: cool.lazy.cat.orm.core.jdbc.JdbcConfig
Сначала необходимо понять функции и основные принципы работы этих аннотаций:
cool.lazy.cat.orm.annotation.*
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )