Có một phương pháp như thế này:Tomcat, JAX-RS, Jersey, @PathParam: cách vượt qua dấu chấm và dấu gạch chéo?
@GET @Path("/name/{name}")
@Produces(MediaType.TEXT_PLAIN)
public String getProperty(@PathParam("name") String name) {
System.out.println(name);
}
Làm thế nào để vượt qua một giá trị như "test./test"?
/name/test./test gives HTTP 404
/name/test.%2Ftest gives HTTP 400
/name/test.%252Ftest prints test%2Ftest
Nhưng nếu tôi làm name = URLDecoder.decode(name);
nó in /test
và phần đầu của test.
biến mất.
Có một hoặc hai câu hỏi như thế này nhưng chúng đã cũ và không tìm thấy giải pháp tốt nào, tôi nghĩ tôi sẽ hỏi lại.
Hoạt động! Có thể vượt qua bất kỳ số lượng dấu gạch chéo, tất cả đều bị bắt tốt. Điều này sẽ làm việc với tất cả các triển khai JAX-RS hay nó hoạt động như thế nào? Dù bằng cách nào, cảm ơn rất nhiều, nó giải quyết vấn đề của tôi. –
@Maxim Tôi nghĩ đó là tiêu chuẩn và tôi sử dụng nó với Apache CXF. –
Có vẻ đẹp, nhưng có vẻ như dấu gạch chéo ngược không khớp với cụm từ thông dụng này .. – Ievgen