Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >没有* javascript的RESTful web服务*的HTML

没有* javascript的RESTful web服务*的HTML
EN

Stack Overflow用户
提问于 2009-08-12 19:04:58
回答 3查看 9.4K关注 0票数 10

即使我提供了替代的放置和删除(c.f. )(“低REST"),我如何为从浏览器访问我的web服务的用户提供用户友好的表单验证,同时仍然公开RESTful URI?表单验证问题(下面描述)是我当前的难题,但我想问的更广泛的问题是:如果我试图同时提供一个RESTful公共接口和一个非javascript接口,它会使生活变得更简单还是更困难?他们一起玩吗?

理论上,这应该仅仅是一个改变输出格式的问题。机器可以查询URL "/people",并获得XML中的人员列表。人类用户可以将浏览器指向同一个URL,并得到一个漂亮的HTML响应。(我正在使用来自微格式wiki的URL示例,这似乎相当合理)。

创建一个新的person资源是通过对"/people“URL的POST请求来完成的。为了实现这一点,人类用户可以首先访问"/people/new",这将返回用于创建资源的静态HTML表单。该表单有method=POST和action="/people“。如果用户的输入是有效的,这会很好,但是如果我们在服务器端进行验证并发现错误怎么办?友好的做法是返回表单,填充用户刚才输入的数据,加上一条错误消息,以便他们能够修复问题并重新提交。但是我们不能将输出直接从POST返回到"/people“,或者它破坏了我们的URL系统,如果我们将用户重定向回"/people/new”表单,那么就无法报告错误并重新填充表单(除非我们将数据存储到会话状态,这将更少RESTful)。

有了javascript,事情就容易多了。只需在后台完成POST,如果失败,则在表单顶部显示错误。但是,当javascript支持不可用时,我希望应用程序能够优雅地退化。目前,我被引导得出结论,一个重要的web应用程序不能在没有javascript的情况下实现RESTful接口,并且使用传统的HTML方案(如微格式wiki描述的)。如果我错了,请告诉我!

有关堆栈溢出的相关问题(这两个问题都不涉及表单验证):

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-12 20:20:24

您可以让html表单直接发布到/people/new。如果验证失败,请使用适当的信息重新编辑表单。如果成功,则将用户转发到新URL。这与我所理解的REST体系结构是一致的。

我看过你对Monis Iqbal的评论,我不得不承认我不知道你所说的“不RESTful”是什么意思。REST体系结构从URL中唯一要求的是它是不透明的,并且它与资源是唯一配对的。REST不在乎它看起来是什么样子,里面是什么,怎么用,用了多少,或者其他类似的东西。URL的可见设计由您决定,REST没有任何意义。

票数 7
EN

Stack Overflow用户

发布于 2009-08-13 04:53:42

为什么要使用XML创建第二个"API“?

HTML包含用户需要查看的数据。HTML相对容易解析。类属性可以像微格式一样用于添加语义。HTML包含表单和链接,以便能够访问应用程序的所有功能。

为什么要创建另一个提供完全无语义的应用程序/xml的接口,该接口可能不包含超媒体链接,因此现在必须将urls硬编码到客户端,从而造成严重的耦合?

如果您可以让您的应用程序在不需要存储会话状态的情况下使用HTML,那么您已经有了一个RESTful API。不要试图设计一堆符合某人对标准的想法的URL。

这是罗伊·菲尔丁的报价

REST不能定义固定的资源名称或层次结构。

我知道这与你所见过的几乎每一个休息的例子都相反,但那是因为它们都是错误的。我知道我开始听起来像一个宗教狂热者,但看到人们在设计RESTful API时,他们一开始就完全错了,这让我很难过。

听布雷顿的话,他说“休息不关心网址是什么样子”,@Wahnfrieden很快就会告诉你同样的事情。对于试图休息的人来说,这个微格式页面是个糟糕的建议。我并不是说对于创建其他类型HTTP的人来说,这是一个糟糕的建议,而不是一个RESTful API。

票数 2
EN

Stack Overflow用户

发布于 2009-08-12 19:16:03

为什么不使用AJAX在客户端完成工作,如果禁用javascript,那么就设计html,这样传统的POST就可以工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1269816

复制
相关文章
RESTful Web服务
假设需要为users资源创建Web服务,users资源包括id、name和age等属性。获取或改变users资源的方式如下:
SmileNicky
2019/01/17
6630
使用 RESTful Web 服务
本指南将引导您完成创建使用#spring# #spring认证# RESTful Web 服务的应用程序的过程。
IT胶囊
2022/09/06
1.9K2
使用 RESTful Web 服务
什么是 RESTful Web服务
总结就是: 上面的提到的特点,可以总结为“ 用明确的方法 操作 语义清晰的资源,来呈现不同的资源表现形式”。
张云飞Vir
2020/04/24
3K0
Spring Boot使用RESTful Web服务
本章将详细讨论和学习如何使用jQuery AJAX来调用RESTful Web服务。
黑洞代码
2021/09/03
1.4K0
Spring Boot使用RESTful Web服务
使用 Spring 构建 RESTful Web 服务
本指南将引导您完成使用 Spring 创建“Hello, World”RESTful Web 服务的过程。
IT胶囊
2021/09/14
1.3K0
使用 Spring 构建 RESTful Web 服务
Spring Boot构建RESTful Web服务
Spring Boot为为企业应用程序构建RESTful Web服务提供了非常好的支持。本章将详细介绍如何使用Spring Boot构建RESTful Web服务。
黑洞代码
2021/08/05
8210
WebService系列之RESTful Web服务
假设需要为users资源创建Web服务,users资源包括id、name和age等属性。获取或改变users资源的方式如下:
SmileNicky
2022/05/07
4470
WebService系列之RESTful Web服务
RESTful API教程:学习关键的Web服务设计原则
原题:RESTful APIs tutorial: Learn key web service design principles
yuanyi928
2018/09/14
1.8K0
RESTful API教程:学习关键的Web服务设计原则
分布式开发、基于Restful的WEB服务如何实现?
那么既然说到了分布式的开发,那么所有的开发者一定都会立刻联想到一个词:“慢”,对于传统的WEB服务开发(AXIS、XFire、CXF等),而且在编写的时候需要编写一大堆的客户端代码,这样对于整个程序的开发的复杂度还是非常高的,可是在实际的开发之中,如果你作为一个架构师,一定不可能将你一个项目的所有的子系统都设计为一个,中间一定会拆分成若干个子系统,于是这个若干个子系统之间如果要想进行数据的交互处理,只能够使用RPC。
爱明依
2019/03/12
5960
Spring认证指南:了解如何使用 Spring 的 RESTful Web 服务
原标题:Spring认证中国教育管理中心-了解如何使用 Spring 的 RESTful Web 服务(Spring中国教育管理中心)
IT胶囊
2022/01/25
8640
Spring认证指南:了解如何使用 Spring 的 RESTful Web 服务
为什么应该使用RESTful Web服务设计
你可能负责一个API。也许你正准备投入制作一个,并且很期待开始。但是要小心,因为好的API设计可能很难。
程序你好
2018/09/29
1.5K0
Web 开发 RESTful
Flask 的 RESTful 模块是 flask-restful ,使用 pip 安装:
HLee
2021/04/08
1.1K0
Web 开发 RESTful
RESTful web service
REST架构就是为了HTTP协议设计的。RESTful web services的核心概念是管理资源。资源是由URIs来表示,客户端使用HTTP当中的’POST, OPTIONS, GET, PUT, DELETE’等方法发送请求到服务器,改变相应的资源状态。
DuncanZhou
2018/09/04
3580
用python创建一个简单的restful风格的web服务应用
使用python创建一个简单的restful风格的webservice应用 摘要 本文介绍使用python创建一个简单的restful风格的webservice应用,原文地址http://www.d
杨永贞
2020/08/04
7470
用python创建一个简单的restful风格的web服务应用
我所理解的RESTful Web API [Web标准篇]
REST不是一个标准,而是一种软件应用架构风格。基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格。REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格。由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍REST之前,我们先来简单认识一下Web。 目录 一、TCP/IP与HTTP 二、Web资源    
蒋金楠
2018/01/15
1.2K0
我所理解的RESTful Web API [Web标准篇]
关于web前端大作业的HTML网页设计——我的班级网页HTML+CSS+JavaScript
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】 🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】 🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】 🥇 关于作者: 历任研发工程师,技
IT司马青衫
2022/08/15
1.8K0
关于web前端大作业的HTML网页设计——我的班级网页HTML+CSS+JavaScript
我所理解的RESTful Web API [设计篇]
《我所理解的RESTful Web API [Web标准篇]》Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建。构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物。而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个“奇怪”的名字呢? 目录 一、为什么叫这个“奇怪”的名字?二、采用URI标识资源 二、采用URI标识资源 三、使
蒋金楠
2018/01/15
1K0
我所理解的RESTful Web API [设计篇]
ASP.NET Core RESTful Web服务开发教程
在本文中,我将逐步解释如何在ASP.NET Core中开发基于RESTful的Web服务应用程序。ASP.NET Core是微软最新发布的技术,比之前的WCF和Web API要好得多。
程序你好
2018/09/29
7.8K0
ASP.NET Core RESTful Web服务开发教程
Restful Web Service(十)
是一种通信方式,可以传递信息,它的特点是 无状态、独立性的(意味着系统做了拆分?)
高大北
2022/06/14
1910
基于RESTful的FastAPI服务模板
FastAPI 是一个高性能 Web 框架,也是一个Python包,用于构建 API,适合利用极少的代码搭建服务器后端,实现前后端分离。
里克贝斯
2021/05/21
7700
基于RESTful的FastAPI服务模板

相似问题

如何通过javascript从html页面调用RESTful web服务的函数

11

来自IOS上的html的RESTFul web服务

24

RESTful web服务url html vs json

34

RESTful web服务

30

RESTful web服务

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文