springboot笔记

Posted 拿红罗卜钓鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot笔记相关的知识,希望对你有一定的参考价值。

1. 测试RestController
    如果访问页面最终显示:Whitelabel Error Page 的2种解决办法
    1.1
    1.2

2. 测试http接口的get请求
    2.1 /**
             * 获取用户信息 ,restful风格
             * @return
             */
            @RequestMapping(value = "/v1/city_id/user_id" ,method = RequestMethod.GET)
            public Object findUser(@PathVariable("city_id") String cityId,
                                   @PathVariable("user_id") String userId)...

    2.2 /**
             * 分页列表
             * @return
             */
            @GetMapping("/v1/page_user")
            public Object pageUser(@RequestParam(name="page",defaultValue = "1") int curPage,int limit)...

    2.3/**
            * 保存用户信息
            * @param user
            * @return
            */
           @RequestMapping("/v1/save_user")
           public Object saveUser(User user)...

    2.4/**
            * 测试http头信息 ,某些请求会携带头信息
            * 比如: 携带token(就是身份认证),作为示范有权限访问该接口的标识
            * 一般将token放到@reqeustHeader中
            * @return
            */
           @GetMapping("/v1/get_header")
           public Object testHeader(@RequestHeader("access_token") String accessToken,String id)...

    2.5/**
            * 测试request
            * @param request
            * @return
            */
           @GetMapping("/v1/test_request")
           public Object testRequest(HttpServletRequest request)...

3.post/put/delete 请求的测试
    3.1/**
            * 测试post请求
            * @param name
            * @param pass
            * @return
            */
           @PostMapping("/v2/login")
           public Object login(String name,String pass)
               map.clear();
               map.put("name",name);
               map.put("pass",pass);
               return map;
           

    3.2/**
            * 测试put请求,多用于更新操作
            */
           @PutMapping("/v2/put")
           public Object login(String id)
               map.clear();
               map.put("id",id);
               return map;
           

    3.3/**
            * 根据id删除
            * @param id
            * @return
            */
           @DeleteMapping("/v2/del")
           public Object delete(String id)
               map.clear();
               map.put("id",id);
               return map;
           

4. jackson相关注解 (作用于实体类属性)
    指定字段不返回
       @JsonIgnore
    格式化日期
       @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone = "GMT+8")
    空字段不返回
       @JsonInclude(JsonInclude.Include.NON_NULL)
    指定别名
       @JsonProperty("xxx")

5.静态文件的访问

    有3个路径 默认在 resources下面 :  resources / static / public 


    5.1 static 下面的静态文件访问方式
    位于static下的静态文件可以直接访问
    static/img/xx.png
    static/js/xx.js
    访问方式: localhost:8080/img/xx.png         localhost:8080/js/xx.js

    5.2如果提供其他静态目录
    resources目录中除了static这个静态文件外,还有 resources和 public这2个目录, 三者优先级
    resources   >   static  >   public

    5.3templates中的文件不能直接访问,需要配置

    ***引入依赖
    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    ***然后通过controller做跳转

    5.4 对于自定义静态路径的访问
    在resources下面创建test 静态文件夹, 里面放入静态文件 ,此时是不能直接访问到的,需要在配置文件配置
    这句话代表 ,配置静态路径的访问支持 ,默认可以不写,默认以支持. 但是如果加入了新的自定义静态路径就需要明确写出了
    spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

    //加入test静态路径 ,改为
    spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/test/

6.文件上传
    可以指定上传到当前工程 ,也可以指定上传到其他 目录

    最后将工程打jar包 ,需要引入pom
      <!--打成jar的插件配置
           否则会报错:运行后会报错:no main manifest attribute, in XXX.jar
       -->

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

    如果打包过程报错: Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.567 s <<< FAILURE! - in ....
    删除当前工程的测试类继续执行打包


 

以上是关于springboot笔记的主要内容,如果未能解决你的问题,请参考以下文章

springboot 开发中将 bean 放入容器 你知道的有几种方式?

springboot中的常用注解

SpringBoot学习笔记——Thymeleaf

SpringBoot学习笔记——Web开发探究

SpringBoot学习笔记——自动配置原理

springBoot学习笔记初识springBoot