[英]How to user stored procedure to fulfill update & create record operations by input parameters values in java ReSTful web services
我正在嘗試創建Web服務以使用相同的存儲過程來創建和更新用戶,為此,我正在通過ReST客戶端傳遞以下輸入
{
"user_id": "23",
"user_email_id": "a@a.a",
"user_password": "fdsdsdf",
"firstname": "sdfsdf",
"lastname": "sfdsdfds",
"mobile_number": "1234567890",
"user_status": 1,
"isdeleted": 0,
"created_by": 1,
"profile_picturename": "kfksdjfhksjd",
"address": "sfdsdfsd"
}
和我的JDBC代碼是
try {
connection = this.getConnection();
callableStatement = connection
.prepareCall("{ call sp_user_upsert(?,?,?,?,?,?,?,?,?,?,?) } ");
// this.setIntToCallableStatement("pv_user_id",
// userInputModel.getUser_id());
if (userInputModel.getUser_id() != null) {
if (!(userInputModel.getUser_id().toString().isEmpty()))
callableStatement.setInt("pv_user_id",
userInputModel.getUser_id());
else
callableStatement.setString("pv_user_id", "");
} else {
callableStatement.setString("pv_user_id", "");
}
callableStatement.setString("pv_user_email_id",
userInputModel.getUser_email_id());
我能夠更新用戶記錄,但是如果我嘗試使用參數創建新用戶
{
"user_id": "",
"user_email_id": "a@a.a",
"user_password": "fdsdsdf",
"firstname": "sdfsdf",
"lastname": "sfdsdfds",
"mobile_number": "1234567890",
"user_status": 1,
"isdeleted": 0,
"created_by": 1,
"profile_picturename": "kfksdjfhksjd",
"address": "sfdsdfsd"
}
創建一個新記錄,其在其余客戶端上顯示HTTP / 1.1 400 Bad Request狀態,
任何人都可以幫助我解決此問題或建立用戶的任何好的建議
我正在使用MySql DB
提前致謝
不知道存儲過程和所使用的數據庫系統就很難回答這個問題。
我的猜測是,您為未知的user_id填充了一個String,但如果知道它則為一個int。 一些DB檢查類型簽名以解決存儲過程,您可能會簡單地收到錯誤消息“由於pv_user_id為字符串,未找到SP。嘗試輸入0,-1或將參數設置為null。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.