这是一种方法
> GET http://acme.com/api
< 200 OK
< Content-type: application/hal+xml
<resource>
<!-- Home resource for acme API -->
<link rel="create-form" href="http://acme.com/api/widgets/form{?thingyType,doodaType}"
</resource>
Hal 是这里定义的标准超媒体格式。create-form
链接关系类型在RFC 6861中定义。URI 使用RFC 6570中定义的 URI 模板格式。客户端必须解析 URI 模板并遵循规则create-form
来检索表单表示。
> GET /acme.com/api/widget?thingyType=foo&doodaType=bar
< 200 OK
< Content-Type: application/xhtml
<html>
<form method="POST"href="http://acme.com/api/widgets">
<input type="text" name="thingyX">
<input type="text" name="thingyY">
<input type="text" name="doodaA">
<input type="text" name="doodaB">
</form>
</html>
在这个例子中,我使用了一个 html 表单。但是,没有要求使用这种类型的表格。可以使用一些其他表单类型媒体类型。
> POST http://acme.com/api/widgets
> Content-Type: x-application/www-form-urlencoded
thingyX=20&thingyY=45&doodaA=yo&doodaB=dawg
< 201 Created
< Location: http://acme.com/api/widgets/975
创建小部件后,可以在您喜欢的任何表示媒体类型中检索它。
> GET http://acme.com/api/widgets/975
< 200 OK
< Content-Type: application/vnd.acme.widget+xml
<widget>
<thingy X="20" Y="45">
<dooda A="yo" B="dawg"/>
</widget>