|
|
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
Проект на Spring. Пишу Rest на таблицы. Все таблицы однотипные (id, name). Model: Код: java 1. 2. 3. 4. Код: java 1. 2. 3. Количество таблиц - n. DAO на первую таблицу: Код: java 1. 2. 3. 4. 5. 6. 7. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Service: Код: java 1. 2. 3. 4. 5. 6. 7. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Resources: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Вопрос: Как лучше/правильней всего реализовать Rest на вторую и следующие таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 12:12 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
Не пора ли открыть для себя Spring Data? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 12:16 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе пора ли открыть для себя Spring Data? + Spring-Rest :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 13:56 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
mad_nazgul+ Spring-Rest :-) Оно как-то иначе называется наверное? Spring REST выродился в Spring MVC в итоге. Но там сейчас есть какая-то фигня, чтобы замапить REST на CRUD репозиторий напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 14:39 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
Blazkowiczmad_nazgul+ Spring-Rest :-) Оно как-то иначе называется наверное? Spring REST выродился в Spring MVC в итоге. Но там сейчас есть какая-то фигня, чтобы замапить REST на CRUD репозиторий напрямую. Это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 14:59 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Да, REST in Spring Data ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 15:29 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
тут примеры : https://github.com/spring-projects/spring-data-examples/tree/master/rest а так да подход верный : можно еще создать свою аннотацию : проаннотировать ей нужные ентити и при старте создавать на основе этой аннотации репозитарии ... Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. или так http://java.dzone.com/articles/customizing-spring-data-jpa Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. твой контроллер Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. или через Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 17:49 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Почитал про Spring Data, посмотрел примеры. Сделал некоторые предположения: 1) Код: java 1. 2. 3. 4. Вот если сделать так, то означает ли аннотация @RepositoryRestResource - что в таком случае можно обойтись(не реализовывать) без слоев service и resources? И можно будет получить данные по localhost:8080/myapp/refbook0 ? 2) Смотрю на интерфейсы PagingAndSortingRepository, CrudRepository... Если для таблицы основное - это CRUD + если, например, в таблице миллион записей, и мне не нужно тянуть все(хочу чтоб Pagination работало), какой интерфейс(ы) лучше применить? 3) Как будет работать HATEOAS, то есть добавление линков? 4) Думал, что если добавлю @Repository для Код: java 1. То в сервисе смогу инжекнуть RefBook0Repository - но получаю No found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency Как правильно сделать, чтоб был виден этот бин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2015, 20:48 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
wvetal Код: java 1. То в сервисе смогу инжекнуть RefBook0Repository - но получаю No found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency Как правильно сделать, чтоб был виден этот бин? Правильно. Нужно в spring-config добавить Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 07:43 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
wvetal4) Думал, что если добавлю @Repository для Код: java 1. То в сервисе смогу инжекнуть RefBook0Repository - но получаю No found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency Как правильно сделать, чтоб был виден этот бин? самое простое - документация (SimpleJpaRepository JpaRepositoryFactory RepositoryFactorySupport)- раздел как создать простой инстантц интерфейса рапозитарий . + примеры (смотритпе тесты на ГИТХАБЕ) http://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html https://github.com/spring-projects/spring-data-jpa-examples/blob/master/spring-data-jpa-example/src/test/java/org/springframework/data/jpa/example/repository/basics/BasicSample.java для более навернутых sql http://www.querydsl.com/static/querydsl/3.6.3/reference/html_single/ Универсально ,,то о чем вы спросили будет так : JpaRepository,JpaSpecificationExecutor и далее использовать findAll(Specification<T> s, Pageable pgbl) ) где у вас будет и Pageable - сортировка и фильтр на кол-во и Specification - это вообще любой запрос !!!! фактически это лямда функция (смотрите java 8) Код: java 1. 2. 3. 4. 5. 6. 7. а так для общего развития смотрите CQRS - надо сказать что идея идеального репозитария уже реализована - и это interface JpaSpecificationExecutor конкретно я вижу это в методе Page<T> findAll(Specification<T> spec, Pageable pageable); но в приложенных документа есть более абстрактная реализация : в статье как раз это демонстритентся через (Repository v4.0) public class AccountRepository : IRepository<Account> { public IEnumerable<Account> GetAccounts(IFetchStrategy<Account>[] fetchStrategies,ISpecification<Account>[] specifications) { // ... } Курите статью http://blog.byndyu.ru/2014/07/command-and-query-responsibility.html :) http://habrahabr.ru/post/146429/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 10:08 |
|
||
|
model dao service resources
|
|||
|---|---|---|---|
|
#18+
http://stackoverflow.com/questions/19514131/spring-hateoas-versus-spring-data-rest http://docs.spring.io/spring-hateoas/docs/current/reference/html/ https://github.com/spring-projects/spring-data-rest https://github.com/spring-projects/spring-data-rest/blob/master/spring-data-rest-webmvc/src/test/java/org/springframework/data/rest/webmvc/jpa/AuthorsController.java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 10:16 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=108&tid=2124538]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 505ms |

| 0 / 0 |
