所以我非常了解Restful URL设计。然而,对于不是单页应用程序(SPA)的传统网站,浏览器的URL设计如何。
出于本例的目的,让我们假设我们有一个Book数据库。让我们进一步假设我们创建了2个传统的HTML站点。
GET /book/show/all // HTML Table
GET /book/show/{id} // HTML Form pre-filled
GET /book/new // HTML Form blank
POST /book/new // Submit HTML Form
POST /book/update/{id} // Submit updated HTML Form
POST /book/delete/{id} // A Link/Button with POST ability (no JS needed)
浏览器只能进行GET和POST操作,除非有人使用JavaScript。考虑到上面的URL设计,引入JavaScript并对更新和删除一个资源发出PUT和DELETE请求是不是更明智呢?还是我应该只使用GET and POST?
干杯
而不是CRUD(创建-读取-更新-删除),我更喜欢首字母缩写(D)AREL(显示、添加、删除、编辑、列表)--(D)是静默的;-)
虽然并不是所有的RESTful API设计选择对基于浏览器的crud应用程序都有意义,但我们可以借用其中的许多内容,例如:
GET /books -- html table listing all books (alternatively /books/list to go with the DAREL acronym)
GET /books/add -- display a form for adding a new book
POST /books/add -- adds a new book and redirects to /book/1 (where 1 is a new book id)
我个人更喜欢用复数名词表示集合,用单数名词表示项目,所以…
GET /book/1 -- display book 1 info (e.g. a customer view)
GET /book/1/edit -- display a form to edit /book/1
POST /book/1/edit -- updates /book/1 and redirects to /book/1
GET /book/1/remove -- maybe/probably optional
POST /book/1/remove -- normally /book/1/edit will have a delete button that handles "are you sure..?" and posts here, redirects to /books
GET /book/1/authors -- list all authors for /book/1
GET /book/1/authors/add -- add author form
GET /book/1/author/1
GET /book/1/author/1/edit
// etc.
GET /authors
GET /authors/add
GET /author/1
// etc.
同样,作者写的书:
GET /author/1/books
// etc.
不过,大多数现代Web应用程序都使用ajax调用子资源,因此在这里也可以使用纯RESTful api:
GET /api/book/1/authors -- returns list of all authors for /book/1
POST /api/book/1/authors -- create a new author, returns the new author uri, e.g. /api/author/1
GET /api/author/1 -- get /author/1 info according to MIME type etc.
PUT /api/author/1 -- update /author/1
DELETE /api/author/1 -- delete the /author/1 resource
DELETE /api/book/1/author/1 -- delete author/1 from /book/1? (or maybe this is covered by PUT /api/author/1 ?)
从原始URL方案的翻译是相当机械的
/resource/unique-id/action -> http-verb /resource/unique-id
display = GET (on a singular resource)
add = POST
remove = DELETE
edit = PUT
list = GET (on a plural/collection resource)
可进行允许Cookie或安全性等浏览器设定。请在网页显示的状态下,轻触(选项)>[设定],遵循画面指示正确操作。
Bootstrap支持多种多样的现代浏览器以及设备,还支持一些较早的浏览器。具体支持哪一些,请看下面内容。下面还列出了一些已知的漏洞的详细信息。 支持的浏览器 Bootstrap 支持所有的主流浏览器和平台的最新的、稳定的版本。 在 Windows 中, **我们支持 Internet Explorer 9-11 **。下面提供了更多详细的支持信息。 移动设备 总的来说,Bootstrap支持所有
Burp 需要与您的浏览器一起使用。 Burp 作为 HTTP 代理服务器,所有来自浏览器的 HTTP/HTTPS 流量都通过 Burp。 要使用 Burp 进行任何类型的测试,您需要配置浏览器以使用它。 首先,您需要确认 Burp 的代理侦听器是正常工作的。 转到代理(Proxy)选项卡,然后选项(Options)子选项卡,并查看代理侦听器(Proxy Listeners)部分。 您应该在表中看
每个桌面浏览器都有一套开发工具,开箱即用,您可以将他们添加到您的浏览器的扩展或插件。 以下是两个具有一些实用功能的Chrome扩展程序,可帮助您调试设计。 Emmet Re:View Emmet Re:View是一个工具,它可以让你轻松查看您的网站在每个媒体查询(media queries)中的样子,并同步所有页面的滚动。 你可以在他们的网站上看到它的演示。 Download on the Chr
我正在尝试安装ActiveMQ浏览器,我想连接到我的ActiveMQ Artemis服务器。我们如何配置它?
浏览器播放量统计 获取用户维度下按天统计的浏览器播放量,该接口提供一天或多天的数据查询,返回为汇总结果。 地址为: http://spark.bokecc.com/api/stats/playcount/user/daily/browser 需要传递以下参数: 参数 说明 userid 用户id,不可为空 start_date 查询开始日期(含),格式为yyyy-MM-dd,不可为空 end_da