簡體   English   中英

RESTful Web服務。 訪問資源

[英]RESTful web services. Accessing resources

我有一個基本的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

對於

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

您在以下位置指定了GET端點

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

因此,可訪問的URL位於(請參閱終止/

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM