From 3a0352fd93ab72d0d76f1d9f43a46c7c9cb3f9d2 Mon Sep 17 00:00:00 2001 From: Jan Tymel <jan.tymel@notix.cz> Date: Tue, 14 Jul 2020 21:24:22 +0200 Subject: [PATCH] Make previous example of entity update REST API working, get rid of service interface --- .../demo/controller/GameLevelController.java | 11 +++-- .../demo/service/GameLevelService.java | 41 ++++++++++++++-- .../service/impl/GameLevelServiceImpl.java | 49 ------------------- 3 files changed, 44 insertions(+), 57 deletions(-) delete mode 100644 src/main/java/com/example/demo/service/impl/GameLevelServiceImpl.java diff --git a/src/main/java/com/example/demo/controller/GameLevelController.java b/src/main/java/com/example/demo/controller/GameLevelController.java index a1cb1b17..cad6e55d 100644 --- a/src/main/java/com/example/demo/controller/GameLevelController.java +++ b/src/main/java/com/example/demo/controller/GameLevelController.java @@ -14,6 +14,7 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -44,12 +45,12 @@ public class GameLevelController { return gameLevelService.findAllGameLevels(); } - @GetMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Return game levels") - @ApiResponses(value = {@ApiResponse(code = 200, message = "Return game levels"), + @PutMapping(value = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation(value = "Update game level") + @ApiResponses(value = {@ApiResponse(code = 200, message = "Updated game level"), @ApiResponse(code = 500, message = "Unexpected application error")}) - public List<GameLevelDto> updateGameLevel(@ApiParam(value = "Game Level ID", required = true) @PathVariable("id") final Long id, + public GameLevelDto updateGameLevel(@ApiParam(value = "Game Level ID", required = true) @PathVariable("id") final Long id, @ApiParam(value = "Update data", required = true) @RequestBody(required = true) GameLevelDto gameLevelDto) { - return gameLevelService.findAllGameLevels(); + return gameLevelService.updateGameLevel(id, gameLevelDto); } } diff --git a/src/main/java/com/example/demo/service/GameLevelService.java b/src/main/java/com/example/demo/service/GameLevelService.java index 02106b87..bd2fcebc 100644 --- a/src/main/java/com/example/demo/service/GameLevelService.java +++ b/src/main/java/com/example/demo/service/GameLevelService.java @@ -1,12 +1,47 @@ package com.example.demo.service; +import com.example.demo.domain.GameLevel; import com.example.demo.dto.GameLevelDto; +import com.example.demo.mapper.BeanMapper; +import com.example.demo.repository.GameLevelRepository; +import com.example.demo.service.GameLevelService; +import org.apache.commons.collections4.IterableUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; -public interface GameLevelService { +@Service +public class GameLevelService { - List<GameLevelDto> findAllGameLevels(); + private final GameLevelRepository gameLevelRepository; - Long updateGameLevel(Long id, GameLevelDto gameLevelDto); + @Autowired + public GameLevelService(GameLevelRepository gameLevelRepository) { + this.gameLevelRepository = gameLevelRepository; + } + + public List<GameLevelDto> findAllGameLevels() { + + Iterable<GameLevel> allGameLevels = gameLevelRepository.findAll(); + + List<GameLevelDto> result = new ArrayList<>(); + + if (!IterableUtils.isEmpty(allGameLevels)) { + for (GameLevel gameLevel : allGameLevels) { + result.add(BeanMapper.INSTANCE.toDto(gameLevel)); + } + } + + return result; + } + + public GameLevelDto updateGameLevel(Long id, GameLevelDto gameLevelDto) { + GameLevel gameLevel = BeanMapper.INSTANCE.toEntity(gameLevelDto); + + GameLevel savedEntity = gameLevelRepository.save(gameLevel); + + return BeanMapper.INSTANCE.toDto(savedEntity); + } } diff --git a/src/main/java/com/example/demo/service/impl/GameLevelServiceImpl.java b/src/main/java/com/example/demo/service/impl/GameLevelServiceImpl.java deleted file mode 100644 index a08d37ac..00000000 --- a/src/main/java/com/example/demo/service/impl/GameLevelServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.example.demo.service.impl; - -import com.example.demo.domain.GameLevel; -import com.example.demo.dto.GameLevelDto; -import com.example.demo.mapper.BeanMapper; -import com.example.demo.repository.GameLevelRepository; -import com.example.demo.service.GameLevelService; -import org.apache.commons.collections4.IterableUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class GameLevelServiceImpl implements GameLevelService { - - private final GameLevelRepository gameLevelRepository; - - @Autowired - public GameLevelServiceImpl(GameLevelRepository gameLevelRepository) { - this.gameLevelRepository = gameLevelRepository; - } - - @Override - public List<GameLevelDto> findAllGameLevels() { - - Iterable<GameLevel> allGameLevels = gameLevelRepository.findAll(); - - List<GameLevelDto> result = new ArrayList<>(); - - if (!IterableUtils.isEmpty(allGameLevels)) { - for (GameLevel gameLevel : allGameLevels) { - result.add(BeanMapper.INSTANCE.toDto(gameLevel)); - } - } - - return result; - } - - @Override - public Long updateGameLevel(Long id, GameLevelDto gameLevelDto) { - GameLevel gameLevel = BeanMapper.INSTANCE.toEntity(gameLevelDto); - - GameLevel savedEntity = gameLevelRepository.save(gameLevel); - - return savedEntity.getId(); - } -} -- GitLab