Skip to content
Snippets Groups Projects
Commit 3a0352fd authored by Jan Tymel's avatar Jan Tymel
Browse files

Make previous example of entity update REST API working, get rid of service interface

parent 11fdf031
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
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);
}
}
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();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment