如何通过ajax上传实体参数,springboot后台接口接收实体对象

如何通过ajax上传实体参数,springboot后台接口接收实体对象

  1. 后端实体类(entity)
    首先,你得在自己的springboot项目中创建自己的实体类。如下图是一个普通的用户实体demo
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * 
 * @类名:User
 * @author :AUAS
 * @功能描述:用户表的实体类
 */
@Entity
public class User{
	@Id
	@Column(name = "user_ID")
	@GeneratedValue
	private int UserID;

	private String userName;

	private String password;
	public int getUserID() {
		return UserID;
	}

	public void setUserID(int userID) {
		UserID = userID;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

  1. 后端接口接收参数
    在controller控制层定义需要请求的接口,以便ajax通过post请求访问url,这里我们添加一个添加用户的接口方法addUser 。
	@RequestMapping("/addUser")
	@ResponseBody
	public void addUser(@RequestBody User user) {
		//直接调用addUserService中的addDataProject方法,将user实体传入
		addUserService.addDataProject(user);
	}

接口中的实现过程:
     首先,通过接收到User实体类型的对象变量user,将user作为参数传入已经定义好的service接口调用其实现层方法,之后通过使用JPA中封装好的方法,直接将user作为参数调用save(entity e)方法中使用,就实现了添加用户功能。

注意事项:这里我使用的是JPA来对数据库进行操作,上述代码中没有详细描述如何实现JPA的添加操作,仅仅显示的是接收ajax传递来的对象参数的正确格式。当然,可以你可以使用其他的方式去操作数据库,我会写其他的博客来详细描述如果通过JPA去编写实现添加用户功能。

  1. 前端页面:通过ajax上传数据
    前面两个步骤,我们完成了后端代码的编写,之后只需要在前端页面中去使用jquery当中的ajax方法去请求接口即可。
			//需要上传的用户参数
			var adata = {
					"userName" : $("#username").val(),
					"password" : $("#password").val()
			}
			var data = JSON.stringify(adata);
			$.ajax({
				type : "POST",                           //通过POST方式上传请求
				contentType : "application/json",//上传内容格式为json结构
				data : data,                                 //上传的参数
				url : "/addUser",     //请求的url。与后端@Request Mapping注解中的值一致。
				success : function() {		      //请求成功的回调函数
					alert("添加用户成功")
				},
				error : function(e) {		      //请求失败的回调函数
					alert("添加用户失败")
				}
			});

注意事项:上面的ajax请求代码使用的是jquery当中的ajax方式,所以,在使用这种ajax方式请求的时候,需要引入jquery.js/jquery.min.js 的外部文件。
另外,需要格外注意的是:最上方的adata对象,他的属性(如:userName,password)必须与你在后端定义的User实体类中的实体属性值一致(包括实体的属性名称、属性类型),比如后端User实体中的userName字段是String类型的字符串,那么你在上传userName时必须获取到的是字符串类型的字符串进行上传,不然会造成无法识别报错的现象。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值