Может кто-нибудь объяснить мне, почему данный контроллер:
@RestController
@RequestMapping("/gamification")
public class GamificationController {
private static final Logger logger = LoggerFactory.getLogger(GamificationController.class);
@Autowired
private GameServiceImpl gameService;
@GetMapping("/retrieve-stats/?user = {userId}")
ResponseEntity<GameStats> getUserStats(@RequestParam("userId") String userId){
logger.debug("UserId is {}", userId);
return ResponseEntity.ok(gameService.retrieveStatsForUser(Long.parseLong(userId)));
}
}
и этот запрос в личку
Я получаю 404 NOT FOUND?
и если я добавлю скобки к параметру запроса, я получаю 400 BAD REQUEST




Вам нужно удалить /?user = {userId} из @GetMapping, а также из запроса на снимок экрана 1-го почтальона и построить его, как показано ниже.
@GetMapping("/retrieve-stats")
ResponseEntity<GameStats> getUserStats(@RequestParam("userId") String userId){
logger.debug("UserId is {}", userId);
return ResponseEntity.ok(gameService.retrieveStatsForUser(Long.parseLong(userId)));
}
PS: И вам не нужно приводить его Long.parseLong, вы можете объявить параметр с типом @RequestParam("userId") Long userId, Spring достаточно умен, чтобы автоматически упаковать тип переменной на основе его объявления типа.
RequestParamимяuserIdнеuser. Вы должны попробовать сuserIdвместоuser. URL должен бытьhttp://localhost:8080/gamification/retrieve-stats?userId=123