Springboot+post请求接口

摘要:
本文是Springboot+post请求接口的生成,包括发送带有cookie和参数的post请求。添加了Lombok框架。您可以使用Lombok而不在类中添加成员变量的get/set方法。

本文是Springboot+post请求接口的生成,包含了带cookie 和参数发送post请求。新增lombok框架,lombok的使用可以不用在类中添加成员变量的get/set方法。框架自带了相关方法。如不需要再添加以下内容

   public String getUsename() {
return usename;
}

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

Springboot+post请求接口第1张

Springboot+post请求接口第2张

<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);
    }
}

免责声明:文章转载自《Springboot+post请求接口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CAN信号值解析Docker 容器日志管理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JAVA 传输post传输长字符、数据编码解码 反序列化字符串

JAVA 传输post传输长字符、数据编码解码 1.前段传输 这是传输的数组对象 2.后端接收格式已解码 JS代码: $.ajax({ url:prefix+"/importModelTree", data: {"modelId":modelId...

3DESC加密算法

3DESC 请求参数和响应参数全采用3des加密规则,由于我是用.NET对接的,而第三方是Java开发的,所以两种程序之间采用的算法有一点差异,java的3des加密采用的是"DESede/CBC/PKCS5Padding"规则,所以对应的C#规则是"PaddingMode.PKCS7和CipherMode.CBC",使用CBC模式的话在C#下必须传入加密...

C++中stringstream的使用方法和样例

  之前在leetcode中进行string和int的转化时使用过istringstream,现在大致总结一下用法和测试用例。     介绍:C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输...

把一个json字符串转换成对应的c#类型

放弃使用Newtonsoft,自己动手。usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Reflection; usingSystem.Text.RegularExpressions; namespaceConsol...

c# datagridview 相关操作。

string[] newRow ={"long","d","b"}; Gridview.Rows.Insert(Gridview.Rows.Count, newRow); datagridview 设置某行某列的单元格可修改: private voidSetGridCellEdit() { if (repgr...

Java—RequestMapping相关用法

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。它有6个属性:1.value:指定请求的具体地址:value的uri值为以下三类:A) 可以指定为普通的具体值:(value = "/add"),其直接访问controller的路径是ip:port/member/a...