Springboot+post請求接口


本文是Springboot+post請求接口的生成,包含了帶cookie 和參數發送post請求。新增lombok框架,lombok的使用可以不用在類中添加成員變量的get/set方法。框架自帶了相關方法。如不需要再添加以下內容

   public String getUsename() {
return usename;
}

public void setUsename(String usename) {
this.usename = usename;
}

 

 

 

 

 

 

 

 

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.14</version>
        </dependency>
    </dependencies>

 

java post請求代碼如下

 
         
package com.course.server;

import com.course.bean.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jdk.internal.org.objectweb.asm.tree.analysis.Value;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@RestController
@Api(value = "/", description = "這是我全部的post請")
@RequestMapping("/V1")
public class MyPostMethod {
//這個變量用來裝我們的cookies信息
private static Cookie cookie;
//模擬場景:用戶登錄成功獲取到cookies,然后訪問其他接口獲取到列表

/**
* 模擬用戶登錄場景
* @param response
* @param userName
* @param password
* @return
*/
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ApiOperation(value = "登錄接口,成功登錄后獲取cookies", httpMethod = "POST")
public String login(HttpServletResponse response,
@RequestParam(value = "username", required = true) String userName,
// @RequestParam(value = "username1",required = true)String userName,
// @RequestParam傳遞的參數格式是param格式
// username1和前端傳遞的參數一致,
//String userName,可以和前端不一致
@RequestParam(value = "password", required = true) String password) {
if (userName.equals("zhangshan") && password.equals("111111")) {
cookie = new Cookie("login", "true");
response.addCookie(cookie);
return "恭喜你登錄成功";
} else
return "用戶名或密碼錯誤";

}

/**
* 攜帶cookie的指定用戶獲取用戶列表信息
* @param request
* @param user
* @return
*/
@RequestMapping(value = "/getUserList", method = RequestMethod.POST)
@ApiOperation(value = "獲取用戶列表", httpMethod = "POST")
public String getUserList(HttpServletRequest request, @RequestBody User user) {
//必須寫上HttpServletRequest reques,或者cookie 值無法帶上cookie值 @RequestBody需要傳遞的參數格式應該是json格式

//獲取cookies
User user1 = new User();
Cookie[] cookies = request.getCookies();//獲取cookie值
for (Cookie cookie : cookies) {
if (cookie.getName() .equals("login" )&& cookie.getValue().equals("true") &&
user.getName().equals("zhangshan") && user.getPassword().equals("111111")) {

user1.setUsename("lisi");
user1.setAge("18");

return user1.toString();
}

}

return "參數不合法";

}

}
 

User類(用戶列表中返回的信息)

 
         
package com.course.bean;
import lombok.Data;
@Data
public class User {
private String usename;
private String password;
private String name;
private String age;
//以下內容 因為引入了lombox框架而不需要再添加成員變量的get/set方法。
// public String getUsename() {
// return usename;
// }
//
// public void setUsename(String usename) {
// this.usename = usename;
// }
//
// public String getPassword() {
// return password;
// }
//
// public void setPassword(String password) {
// this.password = password;
// }
//
// public String getName() {
// return name;
// }
//
// public void setName(String name) {
// this.name = name;
// }
//
// public String getAge() {
// return age;
// }
//
// public void setAge(String age) {
// this.age = age;
// }
}
 

 

main入口

package com.example.demo;

        import org.springframework.boot.SpringApplication;
        import org.springframework.boot.autoconfigure.SpringBootApplication;
        import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan("com.course")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM