spring-projects / spring-projects/spring-data-rest

Support mongodb repositories (alongside JPA in same configuration)

Open
#51 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: enhancement
Dominant language
Java
Stars
958
Forks
568
PR merge metrics
No merged PRs in 30d

Description

Hi,

I see from the Spring Data Rest front page that support for mongodb repositories is on the roadmap. I want to +1 this feature and watch so I can do some early testing ;-)

Also, it is worth adding an interesting use case, which is mongodb and JPA repositories in the same application. They work well together in Spring data generally, so it would be good to see the compatibility extend to the rest exporter. I raise this now because at the moment mongodb repositories have to explicitly marked with @RestResource(exported = false) to avoid the rest exporter throwing an exception for 'not an entity' on the @Document annotated class, so I guess there would be a need to detect the correct repository exporter to use for each repository.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Spring Data REST REST exporter and the repository handling around @RestResource(exported = false), @Document, and the 'not an entity' exception. Investigate how JPA and MongoDB repositories are identified in one application; done means MongoDB repositories export correctly alongside JPA repositories without requiring them to be disabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, mongodb, spring
Domain
api, backend, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.