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

做商城网站都需要什么百度seo怎么优化

做商城网站都需要什么,百度seo怎么优化,重庆seo全网营销,酒店预订网站建设1.返回值解析器介绍 返回值解析器用于解析Hanlder执行方法后的返回结果,例如将方法上标注有@ResponseBody注解的返回值解析成JSON、将方法返回的字符串作为视图名等 SpringMVC中默认的返回值解析器见RequestMappingHandlerAdapter#getDefaultReturnValueHandlers private L…

1.返回值解析器介绍

返回值解析器用于解析Hanlder执行方法后的返回结果,例如将方法上标注有@ResponseBody注解的返回值解析成JSON、将方法返回的字符串作为视图名等

SpringMVC中默认的返回值解析器见RequestMappingHandlerAdapter#getDefaultReturnValueHandlers

private List<HandlerMethodReturnValueHandler> getDefaultReturnValueHandlers() {List<HandlerMethodReturnValueHandler> handlers = new ArrayList<>(20);handlers.add(new ModelAndViewMethodReturnValueHandler());handlers.add(new ModelMethodProcessor());handlers.add(new ViewMethodReturnValueHandler());handlers.add(new ResponseBodyEmitterReturnValueHandler(getMessageConverters(),this.reactiveAdapterRegistry, this.taskExecutor, this.contentNegotiationManager));handlers.add(new StreamingResponseBodyReturnValueHandler());handlers.add(new HttpEntityMethodProcessor(getMessageConverters(),this.contentNegotiationManager, this.requestResponseBodyAdvice));handlers.add(new HttpHeadersReturnValueHandler());handlers.add(new CallableMethodReturnValueHandler());handlers.add(new DeferredResultMethodReturnValueHandler());handlers.add(new AsyncTaskMethodReturnValueHandler(this.beanFactory));handlers.add(new ModelAttributeMethodProcessor(false));handlers.add(new RequestResponseBodyMethodProcessor(getMessageConverters(),this.contentNegotiationManager, this.requestResponseBodyAdvice));handlers.add(new ViewNameMethodReturnValueHandler());handlers.add(new MapMethodProcessor());// 添加自定义的返回值解析器if (getCustomReturnValueHandlers() != null) {handlers.addAll(getCustomReturnValueHandlers());}// 兜底的解析器if (!CollectionUtils.isEmpty(getModelAndViewResolvers())) {handlers.add(new ModelAndViewResolverMethodReturnValueHandler(getModelAndViewResolvers()));}else {handlers.add(new ModelAttributeMethodProcessor(true));}return handlers;
}

这些返回值解析器会被封装到HandlerMethodReturnValueHandlerComposite中,处理返回值时,会按照加入的顺序依次判断每个返回值解析器能否解析此任务,如果其中某个解析器能够解析此参数,则返回解析结果

2.自定义返回值解析器

在某些场景下,我们可以自定义返回值解析器,将响应的返回值转成我们希望的格式,假如我们想要将响应转换为yml格式,这时我们可以自定义注解,然后再自定义返回值解析器实现HandlerMethodReturnValueHandler接口,示例如下:

1)创建自定义注解@Yml及自定义返回值处理器YmlReturnResolver实现HandlerMethodReturnValueHandler接口

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Yml {
}public class YmlReturnResolver implements HandlerMethodReturnValueHandler {// 判断返回值解析器是否支持@Overridepublic boolean supportsReturnType(MethodParameter methodParameter) {Yml yml = methodParameter.getMethodAnnotation(Yml.class);return yml != null;}@Overridepublic void handleReturnValue(Object o, MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer,NativeWebRequest nativeWebRequest) throws Exception {// 将返回值转换为yamlString str = new Yaml().dump(o);// 设置响应内容HttpServletResponse response = nativeWebRequest.getNativeResponse(HttpServletResponse.class);response.setContentType("text/plain;charset=utf-8");response.getWriter().print(str);// 设置请求已处理完毕modelAndViewContainer.setRequestHandled(true);}
}

2)配置类中加入自定义返回值解析器

@Configuration
@ComponentScan
public class WebConfig {@Beanpublic ServletWebServerFactory servletWebServerFactory() {return new TomcatServletWebServerFactory();}@Beanpublic DispatcherServlet dispatcherServlet() {return new DispatcherServlet();}@Beanpublic DispatcherServletRegistrationBean servletRegistrationBean(DispatcherServlet dispatcherServlet) {DispatcherServletRegistrationBean dispatcherServletRegistrationBean = new DispatcherServletRegistrationBean(dispatcherServlet, "/");dispatcherServletRegistrationBean.setLoadOnStartup(1);return dispatcherServletRegistrationBean;}@Beanpublic MyRequestMappingHandlerAdapter requestMappingHandlerAdapter() {MyRequestMappingHandlerAdapter handlerAdapter = new MyRequestMappingHandlerAdapter();// 添加自定义返回值解析器handlerAdapter.setCustomReturnValueHandlers(Arrays.asList(new YmlReturnResolver()));return handlerAdapter;}
}

3)创建控制器类及实体类

@Controller
public class Controller01 {@GetMapping("/test")@Ymlpublic User test() {
http://www.wangmingla.cn/news/67499.html

相关文章:

  • 电商网站建设网络公司重庆seo整站优化
  • 自己做的网站点进去很卡鄞州seo整站优化服务
  • 三点水网站建设合同关键词竞价排名是什么意思
  • 深圳最好的网站建设公司排名拉新任务接单放单平台
  • 建网站比较靠谱的公司邢台网站网页设计
  • 厦门网站推广南昌seo排名扣费
  • 是否有可能一个人完成网站开发品牌网站建设公司
  • 电商网站建设考试题百度推广账号
  • 自己做网站语言构建服务器鄂州网站seo
  • 网站建设中布局抚顺优化seo
  • 辽宁建设工程信息网盲盒系统seo搜索引擎优化公司
  • 个性化建网站定制建个人网站的详细步骤
  • 广州网站建设南宁海南百度推广公司
  • 如何网站公司小程序网络销售新手入门
  • 自己做的网站能联网吗百度无广告搜索引擎
  • 沈阳做网站哪家便宜营销官网
  • 如何用网站做招聘互动营销平台
  • 官方网站重要性网站广告调词平台
  • 网站建设药店营销型网站建设的公司
  • 网站对于一个企业的优势百度指数查询排行榜
  • 毕业设计网页制作网站建设济南做网站公司
  • 我想自己建个网站 应该怎么做磁力宝
  • 郴州网站优化建立一个网站需要多少钱?
  • 做网站几个步骤销售管理系统
  • 在网站上做宣传属于广告费用吗百度知道网页版
  • 建站新体验拉新推广一手接单平台
  • 注册购买域名后怎么做网站武汉seo排名优化公司
  • 备案查询工信部网址查询外贸seo
  • 湖南做网站公司有哪些济南网站推广
  • 做网站费用需要分摊吗seo网站关键词排名快速