Repository and service improvements
You don't need to make additional save method since save method already exist.

public void saveToLibrary(GooglePlayGame googlePlayGame) {
        googlePlayGameRepository.save(googlePlayGame);
    }


You have two methods one called findByTitle(String title) and findByTitleContainsIgnoreCase

To make other programmer understand whats going on maybe renaming findByTitleContainsIgnoreCase to findListOfGamesByTitlesince you are returning List and also it can be optional since games might not be there at all.
In your service call findListOfGamesByTitle just pass String (title.equalsIgnoreCase())

Why are you throwing exception at method level and also inside the body in getGameByTitle , do you want to pass that exception further ? there is no point doing it.

Yes, you should handle optional in the service layer because next layer is the constructor.


The sentence and the place you mentioned is not understood so please fix it a bit
i am referring to the following -&gt; Maybe I should just check it in code like this (not in the service):