SuperMap iServer 提供了(le/liǎo) REST 式的(de)服務,這(zhè)些服務以(yǐ)資源的(de)形式存在(zài),客戶端通過對資源的(de)操作實現相應的(de)功能。在(zài) SuperMap iServer 中,對資源的(de)操作通過 HTTP 的(de)四個(gè)方法來(lái)實現。
HTTP(HyperText Transfer Protocol)是(shì)互聯網上(shàng)應用最爲(wéi / wèi)廣泛的(de)一(yī / yì /yí)種網絡協議,是(shì)一(yī / yì /yí)個(gè)客戶端和(hé / huò)服務器端請求和(hé / huò)應答的(de)标準(TCP)。由 HTTP 客戶端發起一(yī / yì /yí)個(gè)請求,建立一(yī / yì /yí)個(gè)到(dào)服務器指定端口(默認是(shì)80端口)的(de) TCP 連接。HTTP 服務器則在(zài)那個(gè)端口監聽客戶端發送過來(lái)的(de)請求。一(yī / yì /yí)旦收到(dào)請求,服務器(向客戶端)發回一(yī / yì /yí)個(gè)狀态行(Status-Line)(比如"HTTP/1.1 200 OK")和(hé / huò)響應消息,響應消息的(de)消息體可能是(shì)請求的(de)文件、錯誤消息、或者其他(tā)一(yī / yì /yí)些信息。
在(zài) SuperMap iServer 中,所有的(de)業務需求都可以(yǐ)映射成對資源的(de)操作。獲取資源的(de)表述用 GET,修改資源用 PUT,添加一(yī / yì /yí)個(gè)資源用 POST 或者 PUT(POST 表示創建子(zǐ)資源,PUT 在(zài)目标資源不(bù)存在(zài)時(shí)創建資源本身),删除資源用 DELETE。支持 HEAD 操作,它隻返回報頭,不(bù)返回表述,用于(yú)得到(dào)資源的(de)元數據,比如是(shì)否可訪問,是(shì)否支持某種表述格式等。
這(zhè)裏,分如下幾個(gè)方面介紹在(zài)客戶端怎樣構建一(yī / yì /yí)個(gè) REST 請求:
- HTTP 請求消息的(de)結構
- REST 中參數的(de)傳遞方式
- REST 中參數的(de)構建
- 幾何對象的(de) JSON 格式構建
- REST 中 HTTP 請求示例
- 用 POST 模拟 GET
請參見
- RFC1945,RFC2616
- 狀态碼列表及說(shuō)明
- 表述格式介紹