Как реализовать spring-hateoas в приложении spring boot, использующем mybatis вместо jpa

Я пытаюсь реализовать гипермедиа с помощью spring-hateoasплагина.

У меня нет JPA hibernate, как в этом примере : https://spring.io/blog/2015/09/15/react-js-and-spring-data-rest-part-2-hypermedia

Но мне очень нравится результат. Единственное, что я не хочу использовать JPA, я бы предпочел использовать mybatis.

Я посмотрел проекты и документацию Greg Turniquist и до сих пор не понимаю, как это реализовать в моем проекте.

Я не хочу использовать пагинацию, но у меня нет никакой грубой информации.

  1. Этот проект работает только для JPA ?
  2. Существует ли какой-либо пример реализации MyBatis spring-boot spring-hatoas ?
  3. Есть ли у кого-нибудь информация о том, как реализовать его с mybatis ?

1 ответ

  1. Трюк с hateoaswith JPAзаключается в том, что он работает из коробки. Это не означает , что вы не можете создать API с теми же ответами hateoas безJPA, хотя. Вы просто должны создать свои собственные контроллеры и настроить каждый ответ вручную.

    Есть несколько способов, как это сделать. Есть хороший вводный учебник от Spring по этой теме: https://spring.io/guides/gs/rest-hateoas/

    Если вы хотите вернуть ресурсы hateoas, вы можете попробовать что-то вроде этого:

    @RequestMapping("/myEntity")
    public Resource<MyEntity> getMyEntity(String title) {
            MyEntity entity = // load your entity here
    
            // Provide a link to lookup of this resource
            Link entityLink = linkTo(MyEntityController).slash('/myEntity').withSelfRel()
            return new Resource<MyEntity>(entity, entityLink.expand(entity.entityId))
    }