git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Camel Get Confused REST - URL param


Hi folks,

I'm using Camel Rest (with *restlet* component) and I have the following
APIs:

rest("/order")
.get("/{*orderId*}").produces("application/json")
.param().dataType("int").type(RestParamType.path).name("orderId").endParam()
.route()
.bean(OrderService.class, "findOrderById")
.endRest()


.get("/*customer*").produces("application/json").route()
.bean(OrderService.class, "findOrderByCustomerId")
.endRest()

The problem is that the */order/customer* doesn't works (see Exception
below). *The parameters for /customer comes from JWT*...

java.lang.String to the required type: java.lang.Long with value customer
due Illegal characters: customer

I think that camel is confusing the ../{orderId} parameter with
.../customer.
If I change the /customer for /customer/orders it's works.

The same idea in Spring Boot could have done with:

@RequestMapping("/order/{*orderId*}")
public Order getOrder(@PathVariable Long orderId) {
return orderRepo.findOne(orderId);
}
@RequestMapping("/order/*customer*")
public List<Order> getOrder() {
return orderRepo.listOrderByCustomer(1l);
}


Any idea about what's happening?