我知道我可以路由到router.get('/object/:id', ...)
,router.post('/object/new', ...)
,router.delete('/object/:id', ...)
和router.put('/object/:id', ...)
,当我浏览到特定对象时,浏览器会发出一个http得到请求。我知道我可以通过表单发布信息。但是如何实现DELETE
和PUT
方法以便我可以编辑和删除对象?如何指定路径中使用的方法?我是否必须更改路由以使其唯一(即router.get('/object/delete/:id', ...)
和router.get('/object/edit/:id', ...)
)并且只使用get方法?
答案 0 :(得分:1)
在HTML form
元素中,您可以使用method
属性指定方法。 <form method="put">
。但是,更常见的是,这些类型的RESTful API端点是使用javascript作为AJAX请求从浏览器调用的,它们可以使用所有可用的HTTP方法。这可以使用XmlHttpRequest标准API,jQuery的$.ajax
或您选择的前端框架来完成。
我是否必须更改路线以使其独一无二p>
不,您可以使用不同的HTTP方法使用相同的URL路径,并且可以通过不同的回调函数处理这些路径,以使其行为不同。传统的REST URL方案对请求相同URL路径的各种HTTP方法进行大量语义使用(GET表示get,PUT表示替换等)。