我想創建Web服務,我可以使用HTTP GET方法發送stardog請求。我的問題是,stardog請求使用了一些URL中不允許的符號,如?
或;
,我試圖不強制用戶手動將其轉換爲%3F
或%3B
。如何在URL中使用字符串?
所以我想我的URL看起來像這樣:
localhost:8080/WebServiceTest/query?select="SELECT * WHERE {?s ?p ?o}"
我的球衣註解如下:
@GET
@Path("/query")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public String execQuery(@QueryParam("select") String selectQuery, @QueryParam("update") String updateQuery) {
有誰知道這是否可能?如果是這樣,我該怎麼做?
該JAX-RS資源的客戶端是什麼?網頁瀏覽器?它應該自動對任何輸入進行URL編碼。 Jersey會恢復這種編碼,所以'selectQuery'將包含正確的輸入。 –
它可能是一個網頁瀏覽器,但它也可能是cURL或任何其他用於傳輸數據的工具。 Web瀏覽器不是對這個?進行編碼,我想這是因爲它將它們理解爲一個查詢參數,它應該是一個簡單的符號。 –