Vấn đề (hoặc thiếu tính năng) là thiếu khả năng diễn đạt giữa các tham số truy vấn khác nhau. Như tôi thấy, bạn chỉ có thể chỉ định and
giữa các thông số, nhưng làm cách nào để giải quyết nó nếu bạn muốn có not equal
, or
hoặc xor
?Làm cách nào để diễn tả các biểu thức nâng cao giữa các tham số truy vấn trong một API REST?
Tôi muốn để có thể bày tỏ những thứ như:
Tất cả người dùng với 20 tuổi hoặc tên Bosse
?/người dùng tuổi = 22 | name = Bosse
Tất cả người dùng ngoại trừ David và Lennart
?!/người dùng name = David & name = Lennart
ý tưởng đầu tiên của tôi là sử dụng một tham số gọi là truy vấn _filter và tham gia một String với biểu hiện của tôi như thế này:
Tất cả người dùng với với 22 tuổi hoặc một tên đó không phải là Bosse
/người dùng? _filter = tuổi eq 22 hoặc tên NEQ Bosse
Giải pháp tốt nhất cho vấn đề này là gì?
Tôi đang viết API của mình với Java và Jersey, vì vậy nếu có bất kỳ giải pháp đặc biệt nào cho Jersey, hãy cho tôi biết.
như tôi biết, không có sẵn sàng để sử dụng giải pháp cho usecase này. Chuyển truy vấn trong thuộc tính lọc như bạn đã nói và triển khai truy vấn bằng cách phân tích cú pháp bộ lọc và phản hồi lại biểu thức được phân tích cú pháp. – Simulant
Bạn có thể mã hóa các ký tự sau: https://en.wikipedia.org/wiki/Character_encodings_in_HTML – Thevenin
@Thevenin: Bạn có thể cho ví dụ về cách tôi có thể sử dụng tính năng này không? –