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

惠州网站建设是什么wp网站建设教程

惠州网站建设是什么,wp网站建设教程,pjax wordpress主题,哈尔滨电子网站建设目录 内容协商 1、引入xml依赖 2、postman分别测试返回json和xml 3、开启浏览器参数方式内容协商功能 4、内容协商原理 5、自定义 MessageConverter 综上 内容协商 根据客户端接收能力不同#xff0c;返回不同媒体类型的数据。 若客户端无法解析服务端返回的内容#…目录 内容协商 1、引入xml依赖 2、postman分别测试返回json和xml 3、开启浏览器参数方式内容协商功能 4、内容协商原理 5、自定义 MessageConverter 综上 内容协商 根据客户端接收能力不同返回不同媒体类型的数据。 若客户端无法解析服务端返回的内容即媒体类型未匹配那么相应406。 1、引入xml依赖 默认没有返回xml的能力  dependencygroupIdcom.fasterxml.jackson.dataformat/groupIdartifactIdjackson-dataformat-xml/artifactId /dependency 2、postman分别测试返回json和xml 只需要改变请求头中Accept字段。Http协议中规定的告诉服务器该客户端可以接收的数据类型。 3、开启浏览器参数方式内容协商功能 spring:mvc:contentnegotiation:# 开启请求参数内容协商模式favor-parameter: true# 修改parameterName默认为formatparameter-name: xx 发请求格式 http://localhost:8080/test/person?formatjson http://localhost:8080/test/person?formatxml 注意1.如果没有定义参数名字默认parameterName为format。            2.引入jackson转换xml包后则支持json、xml两种媒体类型。如果需要其他类型数据可自定义MessageConverter实现多协议数据兼容 浏览器端不传参数或者是没匹配到就是*/*都能匹配然后按权重匹配。 4、内容协商原理 内容协商的内容在返回值处理器 RequestResponseBodyMethodProcessor-writeWithMessageConverters() 方法中 1、判断当前响应头中是否已经保存了 MediaType如果有则该 MediaType 作为 selectedMediaType。 2、否则先获取浏览器可接受的所有MediaType acceptableType 获取的原理调用返回值处理器的内容协商管理器来获取到当前请求头中 Accept 字段的值封装到 List 中并按权重进行排序。 3、获取支持当前返回值类型的 MessageConverter 所支持的所有 MediaTypeproducibleTypes。 获取的原理获取当前处理器中保存的所有 MessageConverter匹配支持当前返回值类型的 MessageConverter将这些 MessageConverter 支持的所有 MediaType 返回。 4、对两种类型进行最佳匹配筛选出所有可以使用的 MediaTypemediaTypesToUse 对 mediaTypesToUse 按权重进行排序优先选中优先级较高的作为选定的 MediaTypeselectedMediaType。如果匹配到不是具体的 MediaType带通配符 *则 selctedMediaType application/octet-stream。 5、遍历循环所有当前系统的 MessageConverter匹配支持将当前返回值类型 转换为 selectedMediaType 的 MessageConverter并使用其 write() 方法将当前返回值写入到响应体中。 5、自定义 MessageConverter 实现多协议数据兼容。json、xml、xx-media。 如何新增一个自定义的xx-media格式 使用spring boot可以基于配置文件快速修改媒体类型。 spring:mvc:contentnegotiation:# 开启请求参数内容协商模式favor-parameter: true# 修改parameterName默认为formatparameter-name: xx# 自定义媒体类型media-types:xx-media: application/xx-media 或者如果不修改xml文件还可以通过重写configureContentNegotiation方法来实现。 Configuration public class WebConfig {Beanpublic WebMvcConfigurer webMvcConfigurer () {return new WebMvcConfigurer() {Overridepublic void configureContentNegotiation(ContentNegotiationConfigurer configurer) {configurer.mediaType(xx-media, MediaType.parseMediaType(application/xx-media));}Overridepublic void extendMessageConverters(ListHttpMessageConverter? converters) {converters.add(new CustomConverter());}};} } 配置完可以看到客户端、浏览器可接收的媒体类型如下 无论使用xml形式还是重写configureContentNegotiation都需要写一个自定义converter。 举个例子只处理写数据。 public class CustomConverter implements HttpMessageConverterUser {Overridepublic boolean canRead(Class clazz, MediaType mediaType) {return false;}Overridepublic boolean canWrite(Class clazz, MediaType mediaType) {return clazz.isAssignableFrom(User.class);}Overridepublic ListMediaType getSupportedMediaTypes() {return MediaType.parseMediaTypes(application/xx-media);}Overridepublic User read(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException {return null;}Overridepublic void write(User user, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException {// 自定义协议数据写出String data user.getName() --- user.getSex() --- user.getAge();//写出去OutputStream body outputMessage.getBody();body.write(data.getBytes());} } 请求结果显示如下 综上 无论使用浏览器参数访问形式还是通过postman修改请求头的accept接收值都可以支持application/xml、application/json、application/xx-media类型的数据。 ​​​​​​
http://www.zqtcl.cn/news/928072/

相关文章:

  • 长沙企业网站建设较好的公司个人社保缴费比例
  • 网站备案信息页面惠安网站建设报价
  • 东莞做微网站建设十大免费软件下载
  • 做的很好的黑白网站成都小程序开发
  • 发布做任务网站wordpress新建用户
  • 郑州市东区建设环保局官方网站工作简历模板免费下载
  • 虾皮跨境电商网站公司网站建设费计入什么费用
  • 东光有做网站的吗公司装修图片大全
  • 一个域名下多个网站项目网手游
  • 网站建设竞价托管服务wordpress搬站流程
  • 做视频网站视频文件都存放在哪室内设计网站平台
  • 外贸网站建设网合肥网站设计公
  • 网站建设设计制作 熊掌号一键生成小程序商城
  • 北滘做网站企业展厅 设计 公司 平安
  • 网站做seo外链常州营销型网站建设
  • 乐清门户网站建设网络推广关键词优化公司
  • 自己做的网站被攻击了企业展厅方案设计公司
  • 可信赖的郑州网站建设公司网站怎样实名认证
  • 创建一个网站的步骤是中国机械加工网招聘信息
  • 做电影解析网站烟台网站建设外贸
  • 做网站 网上接单汽车网站开发流程
  • 2017网站开发发展前景主页网站建设
  • 苏州手机网站建设费用上海企业制作网站
  • 网站上怎样做轮播图网站后台乱码怎么办
  • 专业网站建设品牌策划商务网站建设与维护考试
  • 网站开发手机版WordPress如何清空评论
  • 公司怎么建立网站吗010网站建设
  • 网站制作找哪家公司好湖北专业网站建设大全
  • 广州建设网站是什么关系wordpress 插件位置
  • 网站建设工作室 怎么样做一个网站需要多少钱