Tôi đã thiết lập dịch vụ REST để truy cập thông tin được lưu trữ trong cơ sở dữ liệu.REST PathParam với nhiều loại
Tôi muốn có thể truy cập dựa trên một trong các mục id
hoặc name
.
Vì vậy, cho phép nói rằng tôi đã có một kỷ lục
name | id | description
mine | 65 | "my thing"
Tôi muốn để có thể truy cập mục này thông qua một trong hai:
myurl.com/items/65
myurl.com/items/mine
Tôi đang sử dụng Jersey (thư viện Java) . Có cách nào tôi có thể xác định PathParam chấp nhận hoặc int hoặc một chuỗi WITHOUT bằng cách sử dụng object.typeOf()?
Tôi muốn tránh điều này:
@PATH("/items/{identifier}
@GET
public String getItem(@PathParam("identifier") Object identifier){
if(identifier.typeOf().equals(String.typeOf()))....
}
Cảm ơn
Bạn có nghĩa là '.class' thay vì' .typeOf() '? – Jeremy
Tôi chỉ tự do tạo thành bit typeOf(). Câu trả lời của Mike dưới đây cho thấy cú pháp Java chính xác cho điều đó. Tốt bắt mặc dù. Cảm ơn! –
Jochen đã đề cập đến điều này dưới đây nhưng nó đáng chú ý: Toàn bộ kế hoạch này là doomed thất bại nếu nó có thể sử dụng "4711" như một tên. Vì vậy, hãy chắc chắn rằng không thể xảy ra! :) – MatrixFrog