当前位置: 首页 > news >正文

网站转化低的原因南宁建设信息网站

网站转化低的原因,南宁建设信息网站,网站商城与网站区别吗,视频背景制作软件apprestful web这是关于使用Spring 3.1和Spring Security 3.1和基于Java的配置来建立安全的RESTful Web Service的系列文章的第四篇 。 本文将重点介绍REST API#xff0c;HATEOAS的可发现性以及由测试驱动的实际方案。 引入REST可发现性 API的可发现性是一个值得引起足够关注的… restful web 这是关于使用Spring 3.1和Spring Security 3.1和基于Java的配置来建立安全的RESTful Web Service的系列文章的第四篇 。 本文将重点介绍REST APIHATEOAS的可发现性以及由测试驱动的实际方案。 引入REST可发现性 API的可发现性是一个值得引起足够关注的主题因此很少有API能够正确地实现它。 如果做得正确这也可以使API不仅具有RESTful和可用性而且具有优雅的风格。 要了解可发现性 需要了解这种约束即作为应用程序状态引擎HATEOAS的超媒体。 RESTful API的这种约束是关于作为应用程序状态唯一驱动程序的超媒体实际上是超文本对资源上的动作/转换的完全可发现性。 如果交互作用是由API通过对话本身特别是通过超文本来驱动的那么就不可能有文档 因为这会迫使客户端做出实际上不在API上下文之外的假设。 此外继续这种逻辑思路确实可以认为RESTful API的唯一方法是如果从根完全可以发现它并且没有先验知识 这意味着客户端应该能够通过在GET上执行GET来导航API。根。 展望未来所有状态更改均由客户端使用REST API在表示形式中提供的可用且可发现的转换来驱动因此称为Representational State Transfer 。 总之服务器应具有足够的描述性以指示客户端如何仅通过超文本来使用API​​在HTTP对话的情况下它可能是Link标头。 具体的可发现性场景由测试驱动 那么REST服务可被发现意味着什么 在本节中我们将使用Junit rest-assured和Hamcrest来测试可发现性的各个特征。 由于REST Service已在该系列的第3部分中得到保护因此在使用API​​之前每个测试都需要首先进行身份验证 。 还需要一些实用程序来解析响应的Link标头。 发现有效的HTTP方法 当使用无效的HTTP方法使用RESTful Web服务时响应应为405 METHOD NOT ALLOWED 此外它还应该使用响应中的“ 允许 HTTP标头”来帮助客户端发现该特定资源所允许的有效HTTP方法 Test public void whenInvalidPOSTIsSentToValidURIOfResource_thenAllowHeaderListsTheAllowedActions(){// Givenfinal String uriOfExistingResource this.restTemplate.createResource();// WhenResponse res this.givenAuthenticated().post( uriOfExistingResource );// ThenString allowHeader res.getHeader( HttpHeaders.ALLOW );assertThat( allowHeader, AnyOf.String anyOf( containsString(GET), containsString(PUT), containsString(DELETE) ) ); } 发现新创建的资源的URI 使用位置 HTTP标头创建新资源的操作应始终在响应中包括新创建资源的URI。 如果客户端在该URI上执行GET则该资源应可用 Test public void whenResourceIsCreated_thenURIOfTheNewlyCreatedResourceIsDiscoverable(){// WhenFoo unpersistedResource new Foo( randomAlphabetic( 6 ) );Response createResponse this.givenAuthenticated().contentType( MIME_JSON ).body( unpersistedResource ).post( this.paths.getFooURL() );final String uriOfNewlyCreatedResource createResp.getHeader( HttpHeaders.LOCATION );// ThenResponse response this.givenAuthenticated().header( HttpHeaders.ACCEPT, MIME_JSON ).get( uriOfNewlyCreatedResource );Foo resourceFromServer response.body().as( Foo.class );assertThat( unpersistedResource, equalTo( resourceFromServer ) ); } 该测试遵循一个简单的场景创建一个新的Foo资源并使用HTTP响应来发现该资源现在可访问的URI 。 然后测试会更进一步并对该URI进行GET检索以获取资源并将其与原始资源进行比较以确保资源已正确保留。 发现URI以获取该类型的所有资源 当我们获取特定的Foo实例时我们应该能够发现下一步可以做什么我们可以列出所有可用的Foo资源。 因此检索资源的操作应始终在其响应中包含URI以在何处获取该类型的所有资源再次使用Link标头 Test public void whenResourceIsRetrieved_thenURIToGetAllResourcesIsDiscoverable(){// GivenString uriOfExistingResource this.restTemplate.createResource();// WhenResponse getResponse this.givenAuthenticated().get( uriOfExistingResource );// ThenString uriToAllResources HTTPLinkHeaderUtils.extractURIByRel( getResponse.getHeader( Link ), collection );Response getAllResponse this.givenAuthenticated().get( uriToAllResources );assertThat( getAllResponse.getStatusCode(), is( 200 ) ); } 该测试解决了REST中链接关系的一个棘手问题要检索所有资源的URI使用rel “ collection”语义。 这种类型的链接关系尚未标准化但已被多种微格式使用 并已提出标准化要求。 非标准链接关系的使用开启了有关RESTful Web服务中的微格式和更丰富语义的讨论。 其他可能发现的URI和微格式 其他URI可能会通过Link标头发现但是在没有转移到更丰富的语义标记例如定义 自定义链接关系 Atom发布协议或微格式的情况下 现有的链接关系类型只有这么多。另一篇文章。 例如如果在特定资源上执行GET时客户端可以发现URI来创建新资源那将是一个很好的选择。 不幸的是与模型创建语义没有链接关系。 幸运的是标准做法是用于创建的URI与用于获取该类型所有资源的URI相同唯一的区别是POST HTTP方法。 结论 本文介绍了RESTful Web服务上下文中可发现性的一些特征讨论了HTTP方法发现创建与获取之间的关系发现URI以获取所有资源的关系等。在接下来的文章中我将重点介绍从root 分页自定义链接关系Atom发布协议以及Spring REST服务中的Discoverability的实际实现开始发现API。 同时检查github项目 。 参考 RESTful Web Service可发现性我们的JCG合作伙伴 Eugen Paraschiv在baeldung博客上的第4部分 。 相关文章 使用Spring 3.1和基于Java的配置引导Web应用程序第1部分 使用Spring 3.1和基于Java的配置构建RESTful Web服务第2部分 使用Spring Security 3.1保护RESTful Web服务第3部分 Spring的REST服务发现性第5部分 使用Spring Security 3.1的RESTful服务进行基本身份验证和摘要身份验证第6部分 SpringQuartz集成自定义注释 Spring MVC拦截器示例 在运行时交换出Spring Bean配置 翻译自: https://www.javacodegeeks.com/2011/12/restful-web-service-discoverability.htmlrestful web
http://www.pierceye.com/news/756048/

相关文章:

  • 网站空间不够用怎么办电子商务公司名字
  • 策划方案网站wordpress设置视频图片
  • 餐饮设计网站有哪些做副业的网站
  • 如何建设一个电子商务网站四川网站建设电话
  • 网站制作学习学网站开发顺序
  • 外语网站建设怎么知道网站的ftp
  • 苏州专业做网站的公司有哪些网络机柜定制
  • 提供服务的网站免费的进销存软件哪个简单好用
  • 长沙县政务网站网络公司名字大全寓意
  • 网站后台凡科建设有做网站维护的
  • 搭建网站需要什么软件上海在线
  • led灯外贸网站建设网站代码怎么优化
  • 网站建设维护什么意思江苏网络推广专员
  • 潍坊网站开发asp培训珠海市网站建设公司
  • 用什么做响应式网站建行个人余额查询网站
  • 做网站网站代理怎么找客源企业团建公司
  • 电子商务网站开发实战济南兼职做网站
  • 怎样创建网站视频学历提升的重要性
  • 百度搜索引擎录入网站1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.
  • 广州做网站建设如何在别人网站挂黑链
  • 宁德北京网站建设任丘建设银行网站
  • 积极加强网站建设连锁会员管理系统
  • 河南做外贸网站的公司简介wordpress做教育网站
  • 兴城做网站推广的企业网站后台管理软件
  • 自定义优定软件网站建设申请永久网站空间
  • 免费发布信息的网站平台怎么做网站统计
  • 制作网站的过程是对信息的龙海市住房和城乡建设局网站
  • 鱼台县建设局网站免费ppt模板制作软件
  • 质量好网站建设多少钱黄冈网站建设哪家快些
  • 使用阿里云部署wordpressseo搜索排名影响因素主要有