zoukankan      html  css  js  c++  java
  • spring bootweb综合开发的整理

    1、json接口开发

    当前开发中微服务的概念日渐深入人心,所以json数据交互可以带来的便利也不言而喻。在springboot中json数据的返回方式比较简单,只需要用@RestController注解即可实现

    在以前的spring 开发的时候需要我们提供json接口的时候需要做那些配置呢

    1. 添加 jackjson 等相关jar包
    2. 配置spring controller扫描
    3. 对接的方法添加@ResponseBody

    就这样我们会经常由于配置错误,导致406错误等等,spring boot如何做呢,只需要类添加 @RestController 即可,默认类中的方法都会以json的格式返回

    @RestController
    public class HelloWorldController {
        @RequestMapping("/getUser")
        public User getUser() {
        	User user=new User();
        	user.setUserName("小明");
        	user.setPassWord("xxxx");
            return user;
        }
    }
    

    如果我们需要使用页面开发只要使用 @Controller再加上模板语言实现即可。

    2、

    我们常常在项目中会使用filters用于录调用日志、排除有XSS威胁的字符、执行权限验证等等。Spring Boot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,并且我们可以自定义Filter。

    两个步骤:

    1. 实现Filter接口,实现Filter方法
    2. 添加@Configuration 注解,将自定义Filter加入过滤链

    好吧,直接上代码

    @Configuration
    public class WebConfiguration {
        @Bean
        public RemoteIpFilter remoteIpFilter() {
            return new RemoteIpFilter();
        }
        
        @Bean
        public FilterRegistrationBean testFilterRegistration() {
    
            FilterRegistrationBean registration = new FilterRegistrationBean();
            registration.setFilter(new MyFilter());
            registration.addUrlPatterns("/*");
            registration.addInitParameter("paramName", "paramValue");
            registration.setName("MyFilter");
            registration.setOrder(1);
            return registration;
        }
        
        public class MyFilter implements Filter {
    		@Override
    		public void destroy() {
    			// TODO Auto-generated method stub
    		}
    
    		@Override
    		public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)
    				throws IOException, ServletException {
    			// TODO Auto-generated method stub
    			HttpServletRequest request = (HttpServletRequest) srequest;
    			System.out.println("this is MyFilter,url :"+request.getRequestURI());
    			filterChain.doFilter(srequest, sresponse);
    		}
    
    		@Override
    		public void init(FilterConfig arg0) throws ServletException {
    			// TODO Auto-generated method stub
    		}
        }
    }
    
  • 相关阅读:
    springboot+websocket 归纳收集
    flask-admin 快速打造博客 系列一
    Flask-sqlalchemy 语法总结
    python 小问题收集
    pyenv+virtual 笔记
    flask_admin 笔记七 扩展功能
    Flask_admin 笔记六 modelView的内置方法
    spring boot 项目中 maven打第三方lib包时遇到的问题以及解决方法
    java 字符串压缩长度并解压
    highcharts中放aqi及6要素,再加上气象5要素的图
  • 原文地址:https://www.cnblogs.com/thinheader/p/10075779.html
Copyright © 2011-2022 走看看