Example

HTTP Requests

Example 1

Top  Previous  Next

Tạo một document mới trên trang

http://jsoneditoronline.org/ với API mà trang này cung cấp.

 

Trước tiên ta đọc tài liệu REST API của trang trên: http://api.jsoneditoronline.org/

 

Thì ta thấy nội dung Cách thức tạo một Document mới là:

 

When either the query parameter callback or jsonp is provided, the reply will be a JSONP response.

 

Create or update a document

 

PUT /v1/docs/:id

The request body must contain the document including meta data.

To update an existing document, the document must contain an _id and _rev property.

 

Example:

 

PUT http://api.jsoneditoronline.org/v1/docs/2e120f5b4d34c678833c354541a74e10

 

{

 "_id": "2e120f5b4d34c678833c354541a74e10",

 "_rev": "1-33913f3da9cd9f78d476f75b26f5db0f",

 "name": "helloworld",

 "data": "{\"goodbye\": \"world\"}",

 "updated": "2015-03-14T11:39:47.394Z"

}

 

 

·Meta data mà trang này đã nhắc đến ở đầu trang là: _id, _rev, name, timestamp, data.

 

·Để update nội dung trang mới thì DataToSend phải chứa _id_rev. Còn ta chỉ mới tạo một Document mới thì chưa cần  2 meta data đó nên DataToSend chỉ cần dùng 2 meta data namedata là đủ

 

·URL để request đến là: http://api.jsoneditoronline.org/v1/docs/

 

·Nếu request thành công thì ta sẽ có kết quả trả về có dạng sau:

{"ok":true,"id":"017d26d5907f74ea0e9d30020de","rev":"1-1e39bdcb86061076ee02b1"}

→ Ta dùng StringRegExp để tách lấy 2 meta data là id (ID của document được tạo) và rev (dùng để thực hiện các request khác cần đến meta data này).

 

 

#include <_HttpRequest.au3>

$Data = 'Tao mot documnet moi bang method PUT'

$NameDocument = 'HuanHoang'

$sDataToSend =  '{"data":"' & $Data & '","name":"' & $NameDocument & '"}'

$rq = _HttpRequest(2, 'http://api.jsoneditoronline.org/v1/docs/', $sDataToSend, '', '', '', 'PUT')

MsgBox(4096, 'Kết quả request', $rq)

$regexp = StringRegExp($rq, '"id":"(.*?)","rev":"(.*?)"', 3) ; → Tách lấy id và rev

$id = $regexp[0]

$rev = $regexp[1]

ShellExecute('http://jsoneditoronline.org/?id=' & $id) ; Thử mở Documnet đã tạo với id có được