RESTful веб-сервисы.Доступ к ресурсам - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть базовое приложение SpringBoot 2.1.3.RELEASE.Используя Spring Initializer, JPA, встроенный Tomcat, шаблонизатор Thymeleaf и пакет в качестве исполняемого файла JAR.

У меня есть этот restController

@RestController
@RequestMapping("/api/v1/users")
public class UserResourceController extends ResourceController {

    private static final Logger LOG = LoggerFactory.getLogger(UserResourceController.class);

        @GetMapping(path = "/", consumes = "application/json", produces = "application/json")
    @ResponseStatus(HttpStatus.OK)
    public ResponseEntity<User> getUser(@RequestHeader(value = "Authorization") String authHeader) {

        User user = authUserOnPath("/users", authHeader);

        user.getApplicationSetup()
                .setExchangeRateWithUSD(currencyService.getUSDRate(user.getApplicationSetup().getAppCcy()));

        return ResponseEntity.ok().body(user);
    }
}

и этот другой:

@RestController
@RequestMapping("/api/v1/users/wallets")
public class WalletResourceController extends ResourceController {

    @Autowired
    private WalletService walletService;



    /**
     * Get user's wallets
     * 
     * @param request
     * @param id
     * @return
     */
    @GetMapping(path = "/", consumes = "application/json", produces = "application/json")
    public ResponseEntity<List<Wallet>> getUserWallets(@RequestHeader(value = "Authorization") String authHeader) {

        User user = authUserOnPath("/users/wallets", authHeader);

        List<Wallet> wallets = userService.getWallets(user);



        return ResponseEntity.ok().cacheControl(CacheControl.maxAge(5, TimeUnit.MINUTES)).body(wallets);
    }

все в порядке при доступе:

GET http://127.0.0.1:1133/myApp/api/v1/users

, но я получил 404 при доступе:

GET http://127.0.0.1:1133/myApp/api/v1/users/wallets

1 Ответ

0 голосов
/ 21 февраля 2019

Для

@RequestMapping("/api/v1/users/wallets")

вы указали конечную точку GET в

 @GetMapping(path = "/" ...)

Таким образом, доступный URL-адрес расположен в (см. Окончание /)

GET http://127.0.0.1:1133/myApp/api/v1/users/wallets/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...