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

用vs2010做免费网站模板下载梵客家装收费标准

用vs2010做免费网站模板下载,梵客家装收费标准,邢台做网站推广找谁,管理类手机网站1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码#xff0c;有效负载编组配置和内容协商。 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式#xff1a; 与ModelAndView一起使用MVC 使用HTTP消息转换器 ModelAndView方法较旧#xff0c;文… 1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码有效负载编组配置和内容协商。 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式 与ModelAndView一起使用MVC 使用HTTP消息转换器 ModelAndView方法较旧文档记载得更好但也很冗长配置繁重。 它试图将REST范式转换为旧模型但这并非没有问题。 Spring团队对此有所了解并从Spring 3.0开始提供了一流的REST支持。 基于HttpMessageConverter和注释的新方法轻巧得多易于实现。 配置是最小的它为RESTful服务提供了合理的默认值。 但是它在文档方面比较新有点轻松。 更重要的是参考并不能完全消除两者之间的区别和权衡取舍。 尽管如此这是在Spring 3.0之后构建RESTful服务的方式。 3. Java配置 Configuration EnableWebMvc public class WebConfig{// } 新的EnableWebMvc注释做了很多有用的事情-特别是在REST的情况下它检测到类路径中存在Jackson和JAXB 2并自动创建并注册默认的JSON和XML转换器 。 注释的功能等效于XML版本 mvc注释驱动/ 这是一个捷径尽管在许多情况下可能有用但它并不完美。 当需要更复杂的配置时请删除注释并直接扩展WebMvcConfigurationSupport 。 4.测试Spring上下文 从Spring 3.1开始 我们获得对Configuration类的一流测试支持 RunWith( SpringJUnit4ClassRunner.class ) ContextConfiguration( classes { ApplicationConfig.class, PersistenceConfig.class },loader AnnotationConfigContextLoader.class ) public class SpringTest{Testpublic void whenSpringContextIsInstantiated_thenNoExceptions(){// When} } 只需使用ContextConfiguration批注指定Java配置类新的AnnotationConfigContextLoader即可从Configuration类加载Bean定义。 注意 WebConfig配置类未包含在测试中因为它需要在未提供的Servlet上下文中运行。 5.控制器 Controller是RESTful API整个Web层中的中心构件。 出于本文的目的控制器正在对简单的REST资源– Foo建模 Controller RequestMapping( value foo ) class FooController{AutowiredIFooService service;RequestMapping( method RequestMethod.GET )ResponseBodypublic List Foo getAll(){return service.getAll();}RequestMapping( value /{id}, method RequestMethod.GET )ResponseBodypublic Foo get( PathVariable( id ) Long id ){return RestPreconditions.checkNotNull( service.getById( id ) );}RequestMapping( method RequestMethod.POST )ResponseStatus( HttpStatus.CREATED )ResponseBodypublic Long create( RequestBody Foo entity ){RestPreconditions.checkNotNullFromRequest( entity );return service.create( entity );}RequestMapping( method RequestMethod.PUT )ResponseStatus( HttpStatus.OK )public void update( RequestBody Foo entity ){RestPreconditions.checkNotNullFromRequest( entity );RestPreconditions.checkNotNull( service.getById( entity.getId() ) );service.update( entity );}RequestMapping( value /{id}, method RequestMethod.DELETE )ResponseStatus( HttpStatus.OK )public void delete( PathVariable( id ) Long id ){service.deleteById( id );}} Controller的实现是非公开的 –这是因为不需要这样做。 通常控制器是依赖关系链中的最后一个控制器–它从Spring前端控制器 DispathcerServlet 接收HTTP请求然后简单地将它们委托给服务层。 如果没有用例必须通过直接引用来注入或操纵控制器则我不希望将其声明为公共。 请求映射很简单–与任何控制器一样映射的实际值以及HTTP 方法都用于确定请求的目标方法。 RequestBody将方法的参数绑定到HTTP请求的主体而ResponseBody对响应和返回类型执行相同的操作。 它们还确保使用正确的HTTP转换器对资源进行编组和解组。 尽管也可以使用其他HTTP头来确定表示形式但将主要根据Accept头进行内容协商以选择使用哪个活动转换器。 6.映射HTTP响应代码 HTTP响应的状态码是REST服务最重要的部分之一因此主题很快就会变得非常复杂。 正确执行这些操作可能会导致或中断服务。 6.1。 未映射的请求 如果Spring MVC收到没有映射的请求则认为该请求不被允许并向客户端返回405 METHOD NOT ALLOWED NOT ALLOWED 。 这也是很好的做法包括允许 HTTP标头返回一个405到客户端时以指定哪些操作是允许的。 这是Spring MVC的标准行为不需要任何其他配置。 6.2。 有效的映射请求 对于任何确实具有映射的请求Spring MVC认为该请求有效如果未指定其他状态代码则响应为200 OK 。 因此控制器为create update和delete动作声明了不同的ResponseStatus 但为get声明了不同的ResponseStatus 实际上应该返回默认的200 OK。 6.3。 客户端错误 如果发生客户端错误 则会定义自定义异常并将其映射到适当的错误代码。 只需从Web层的任何层抛出这些异常即可确保Spring在HTTP响应上映射相应的状态代码。 ResponseStatus( value HttpStatus.BAD_REQUEST ) public class BadRequestException extends RuntimeException{// } ResponseStatus( value HttpStatus.NOT_FOUND ) public class ResourceNotFoundException extends RuntimeException{// } 这些例外是REST API的一部分因此仅应在与REST相对应的适当层中使用 例如如果存在DAO / DAL层则不应直接使用异常。 还要注意这些不是经过检查的异常而是运行时异常 –与Spring的实践和习惯用法一致。 6.4。 使用ExceptionHandler 将自定义异常映射到特定状态代码的另一种方法是在控制器中使用ExceptionHandler批注。 这种方法的问题在于注释仅适用于定义了它的控制器而不适用于整个Spring容器这意味着需要在每个控制器中分别声明它。 这很快变得很麻烦尤其是在具有许多控制器的更复杂的应用程序中。 目前Spring已解决了一些JIRA问题 以解决此限制和其他相关限制 SPR-8124 SPR-7278 SPR-8406 。 7.其他Maven依赖项 除了标准Web应用程序所需的spring-webmvc依赖关系之外我们还需要为REST API设置内容编组和解编组 dependenciesdependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion${jackson.version}/version/dependencydependencygroupIdjavax.xml.bind/groupIdartifactIdjaxb-api/artifactIdversion${jaxb-api.version}/versionscoperuntime/scope/dependency /dependenciespropertiesjackson.version2.2.2/jackson.versionjaxb-api.version2.2.9/jaxb-api.version /properties 这些库用于将REST资源的表示形式转换为JSON或XML 。 8.结论 这篇文章介绍了使用Spring 3.1和基于Java的配置对RESTful服务的配置和实现并讨论了HTTP响应代码基本内容协商和封送处理。 在本系列的下一篇文章中我将重点介绍API的可发现性 高级内容协商以及使用资源的其他表示形式 。 同时检查github项目 。 参考来自baeldung博客的JCG合作伙伴 Eugen Paraschiv 使用Spring 3和Java Config构建REST API 。 翻译自: https://www.javacodegeeks.com/2011/11/building-restful-web-service-with.html
http://www.zqtcl.cn/news/312391/

相关文章:

  • 天津模板建站哪家好wordpress标题换行显示不全
  • 杭州房地产网站建设网站建设开发公司推荐指数
  • 建设部网站上怎样查询企业业绩做淘宝联盟网站要多少钱
  • 宣武上海网站建设网站导购话术
  • 天津北京网站建设公司大网站建设公司
  • 网站需要在哪些方面备案百度云建网站
  • 西安手机网站定制网站建设西安网站注册
  • 怎么做秒赞网站企业自己建设的营销网络
  • 一般网站建设需求有哪些wordpress脚注更改
  • 海报设计在线生成免费网站排名优化方案
  • 网站开发综合设计报告怎么制作浏览器网页
  • 做网站打广告青岛网站营销推广
  • 网站建设中首页模板本科 网站建设的基础教程
  • 推广网站优化seo教程上排名抖音营销
  • 创业园区网站建设wordpress对接公众号源码
  • 怎么设计公司的网站长沙seo结算
  • 参加网站建设项目人员保障体系镇江网站建设门户报价
  • 漯河网站优化景区网站建设方案
  • 辽宁智能网站建设价位wordpress 公司主题
  • zencart 网站入侵冲电气软件 网站建设
  • 在网上做黑彩网站会怎样wordpress自定义代码在哪里设置
  • 福州营销网站建设老品牌网站开通
  • 电子商务网站体系结构有哪些?网站开发规划书怎么写
  • 建设一个网站要多少钱建设银行信用卡卡网站首页
  • 百度推广效果怎样seo网上培训课程
  • 广州品牌网站建设 优美wordpress 跳转页面
  • 成都专业的网站建设制作公司哪家好m3u8视频可以永久保存吗
  • 上海做兼职的网站如何在凡科建设网站
  • 沙朗镇做网站公司企业管理咨询师是干什么的
  • 起名网站建设商汇通网站