Springboot 插件lombok安装使用及带cookie的post接口开发

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30353203/article/details/82226840

先安装插件

配置注解处理器

添加pom文件中依赖

         <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.14</version>
        </dependency>
/**使用注解@Data*/
@Data
public class User {
    private String name;
    private String age;
    private String sex;
}

主要使用getter and setter   ToString 这些都不用写,java bean的一个简写,在方法上面加一个注解,@Data

实现post接口

@RestController
@Api(value = "/",description = "这是我的全部post请求")
/**如果在类上的RequestMapping上加了路径,代表下面的所有路径前都要带上这个*/
@RequestMapping("/v1")
public class MyPostMethod {
    /**这个变量是用来装我的cookie信息的*/
    public static Cookie cookie;
    /**用户登录获取到cookies,然后再访问其他接口获取到列表*/

    @RequestMapping(value = "/login",method = RequestMethod.POST)
    @ApiOperation(value = "登录接口,成功后获取cookie信息",httpMethod = "POST")
    /**value里的值对应的是前端的名,可以跟后端的名字不一致,不一致
     * 的话,就会起到安全作用,防止猜到数据库里的字段名
     * required如果是true是代表必须传
     */
    public String login(HttpServletResponse response,
                        @RequestParam(value = "userName",required = true) String userName,
                        @RequestParam(value = "password",required = true) String password){
        if(userName.equals("xiaoqiang")&& password.equals("123456")){
            Cookie cookie = new Cookie("login","true");
            response.addCookie(cookie);
            return "恭喜您登录成功!";
        }
        return "您的账号或密码错误";
    }

    @RequestMapping(value = "/getUserList",method = RequestMethod.POST)
    @ApiOperation(value = "获取用户列表",httpMethod = "POST")
    public String getUserList(HttpServletRequest request,
                            @RequestBody User u){
        User user;
        /**获取cookie*/
        Cookie[] cookies = request.getCookies();
        /**验证cookies是否合法*/
        /**User里面没有写getter setter方法,用lombok插件,和注解@Data,就可以*/
        for (Cookie c: cookies){
            if(c.getName().equals("login")
                    && c.getValue().equals("true")
                    &&u.getUserName().equals("xiaoqiang")
                    &&u.getPassword().equals("123456")
                    ){
                user = new User();
                user.setName("小李");
                user.setAge("12");
                user.setSex("man");
                return  user.toString();
            }
        }
        return "参数不合法";
    }

}

jmeter,修改jmeter.properties,文件中改为true,CookieManager.save.cookies=true ,在debugsample里可以看到获取的cookie。也可用postman来验证接口。

猜你喜欢

转载自blog.csdn.net/qq_30353203/article/details/82226840