@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) Resources<CoinOrderResource> readOrders(@PathVariable String userId) { this.validateUser(userId); List<CoinOrderResource> bookmarkResourceList = coinOrderRepository .findByAccountUsername(userId) .stream() .map(CoinOrderResource::new) .collect(Collectors.toList()); return new Resources<>(bookmarkResourceList); }
@RequestMapping(method = RequestMethod.POST) ResponseEntity<?> add(@PathVariable String userId, @RequestBody CoinOrder input) { this.validateUser(userId); return this.accountRepository .findByUsername(userId) .map( account -> { CoinOrder result = coinOrderRepository.save( new CoinOrder(account, input.type, input.quantity, input.priceInCents)); Link forOneBookmark = new CoinOrderResource(result).getLink("self"); return ResponseEntity.created(URI.create(forOneBookmark.getHref())).build(); }) .orElse(ResponseEntity.noContent().build()); }