Tôi đang xây dựng ứng dụng web bằng REST
Netbean 7.1.1 Glassfish 3.1.2
REST cách truyền thông số đường dẫn trống?
tôi có 2 URL:
"http://myPage/resource/getall/name" (get some data by name)
"http://myPage/resource/getall" (get all data)
Khi client gửi yêu cầu sử dụng URL đầu tiên, servlet dưới đây được gọi và thực hiện một số quy trình.
@Path("getall/{name}")
@GET
@Produces("application/json")
public Object Getall(@PathParam("name") String customerName) {
//here I want to call SQL if customerName is not null. is it possible???
}
Nhưng tôi cũng muốn URL thứ hai gọi servlet này.
Tôi nghĩ rằng servlet sẽ được gọi và tôi chỉ có thể kiểm tra customerName == null và sau đó gọi SQL khác nhau và vv.
Nhưng khi máy khách gửi yêu cầu sử dụng URL thứ hai (tức là không có tham số đường dẫn), servlet không được gọi vì URL không có tham số đường dẫn {name}.
Không thể gọi URL thứ hai và gọi servlet ở trên?
Một thay thế tôi có thể nghĩ đến là sử dụng query parameter
:
http://myPage/resource/getall?name=value
lẽ tôi có thể phân tích nó và xem nếu "value"
là null sau đó có hành động phù hợp ..
Cảm ơn bạn, tôi đã thử ở trên và hoạt động hoàn hảo! –
Xin chào! Điều gì xảy ra nếu tình huống tiếp theo: "http: // myPage/resource/getall/name? Type = json" "http: // myPage/resource/getall? Type = json" Giải pháp trên không hoạt động. – Andrew
@Andrew, vui lòng tạo câu hỏi mới. Nếu không có bất kỳ ngữ cảnh nào thì không thể trả lời được câu hỏi. – andih