提问人:Ankita Tupe 提问时间:6/20/2023 最后编辑:Brian Tompsett - 汤莱恩Ankita Tupe 更新时间:7/3/2023 访问量:134
在数据库中获取从 postman JSON 格式发送的 null 值
Getting null values in database which are sent from postman JSON format
问:
我必须使用 servlet 创建一个 API 的 crud 应用程序,并从邮递员那里测试该 API,所以我开始做 crud 应用程序,我首先创建了插入数据 API,它将通过邮递员从 JSON 中获取数据,并且来自 JSON 的数据将来自并存储在数据库中。所以我在 postman 中提供了数据,它也给了我 200 OK 信号,并且还显示数据添加成功消息,但是当我转到 pgadmin 并看到所有行数据都以 null 形式保存时,所以我检查了 servlet,我们在下面有方法,我已经写了 println 行,该行将显示我从 JSON 获取的数据, 所以数据也给了我错误。request.getparameter
package com.conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MyConnection {
public static Connection getConnection() {
String URL = "jdbc:postgresql://localhost:5432/sample";
String USERNAME = "postgres";
String PASSWORD = "Rhythm";
Connection connection = null;
try {
Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("Connected to the database successfully.");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
/*
* public static void main(String[] args) { getConnection(); }
*/
}
package com.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.conn.MyConnection;
import com.dao.EmployeeDao;
import com.model.Employee;
/**
* Servlet implementation class SaveData
*/
@WebServlet("/SaveData")
public class SaveData extends HttpServlet {
//private static final long serialVersionUID = 1L;
private EmployeeDao employeeDao;
Connection connection;
/**
* @see HttpServlet#HttpServlet()
*/
// Database credentials
@Override
public void init() throws ServletException {
super.init();
connection = MyConnection.getConnection();
employeeDao = new EmployeeDao(connection);
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
int i=0;
String name = request.getParameter("name");
String email = request.getParameter("email");
String mobile_number = request.getParameter("mobile_number");
int department_id = Integer.parseInt(request.getParameter("department_id"));
int designation_id= Integer.parseInt(request.getParameter("designation_id"));
String gender = request.getParameter("gender");
boolean age = request.getParameter("age") != null;
// Validation logic can be added here
Employee emp = new Employee(name, email, Integer.parseInt(mobile_number), department_id, designation_id, gender, age);
// Insert employee into the database
PrintWriter out=response.getWriter();
out.println("name"+emp.getName());
out.println("email"+emp.getEmail());
out.println("mobile_number"+emp.getMobile_number());
out.println("department_id"+emp.getDepartment_id());
out.println("deignation_id"+emp.getDesignation_id());
out.println("gender"+emp.getGender());
out.println("age_above_18"+emp.isAge_above_18());
List<Employee> lst=new ArrayList<Employee>();
lst.add(emp);
i= employeeDao.create(lst);
response.setStatus(HttpServletResponse.SC_CREATED);
response.getWriter().write("Employee added successfully");
if(i>0)
{
System.out.println("create employee...");
}
else {
System.out.println("error ocuur");
}
}
}
答: 暂无答案
评论