- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Swift 4 应用程序,它与使用 JDBCDB2 数据库通信的 JAVA DAO 进行通信 。我正在使用 JAX-RS 来提供 Web 服务功能。我还使用 Alamofire 4 库作为应用程序的一部分。
当我使用 POST 请求调用 DAO 时,该请求在 Postman 中传递一系列内容类型为 x-www-URLEncoded 的参数,调用成功完成,结果以 200 msg 传回,但是当我在 Swift 4 中使用 Alamofire 请求尝试时,JAVA DAO 在 DAO 的结果集上抛出错误。
错误
[glassfish 4.1] [SEVERE] [] [app.log] [tid: _ThreadID=31 _ThreadName=http-listener-1(4)] [timeMillis: 1517241179331] [levelValue: 1000] [[ Exception : java.lang.NullPointerExceptioncom.sun.gjc.spi.base.ResultSetWrapper.next(ResultSetWrapper.java:103)
Java code
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public int insertUserProfile(
@FormParam("password") String password,
@FormParam("fName") String fName,
@FormParam("city") String city,
@FormParam("stateProv") String stateProv,
@FormParam("zip") String zip,
@FormParam("emailId") String emailId,
@FormParam("age") short age,
@FormParam("sex") String sex,
@FormParam("uType") String uType,
@FormParam("salary") BigDecimal salary,
@FormParam("occupation") String occupation,
@FormParam("secQuestion") String secQuestion,
@FormParam("secAnswer") String secAnswer
) throws Exception{
try {
String proc = "CALL USERINFO(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
int whichquery = 1;
int cols = 1;
CallableStatement stmt = conn.prepareCall(proc);
stmt.setInt(1,whichquery);
stmt.setInt(2,0);
stmt.setString(3,password);
stmt.setString(4,fName);
stmt.setString(5,city);
stmt.setString(6,stateProv);
stmt.setString(7,zip);
stmt.setString(8,emailId);
stmt.setInt(9,age);
stmt.setString(10,sex);
stmt.setString(11,uType);
stmt.setBigDecimal(12,salary);
stmt.setString(13,occupation);
stmt.setString(14,secQuestion);
stmt.setString(15,secAnswer);
stmt.registerOutParameter(16,Types.VARCHAR, sqlState);
stmt.registerOutParameter(17,Types.INTEGER, sqlCode);
stmt.registerOutParameter(18,Types.VARCHAR, sqlMsg);
if (debug_sw) { System.out.println("***** setString *****"); }
rs = stmt.executeQuery();
if (debug_sw) { System.out.println("***** executeQuery *****"); }
if (debug_sw) { System.out.println("***** Initialized list *****"); }
if (sqlCode == 0 && rs.next() )
{
total_rows = rs.getMetaData().getColumnCount();
}
rs.close();
stmt.close();
conn.close();
if (debug_sw) { System.out.println("***** Closed rs, stmt, & conn *****"); }
if (debug_sw) { System.out.println("***** Returning JSONArray *****"); }
return total_rows;
Swift 4/Alamofire 代码
let parameters: Parameters = [
"password":passW,
"fName":fname,
"city":cityname,
"stateProv":statename,
"zip": zipname,
"emailId": emailname,
"age": agename,
"sex": sexname,
"uType":userTypeName,
"salary":salaryAmount,
"occupation": occupationname,
"secQuestion": secretQuestion,
"secAnswer": secretAnswer
]
Alamofire.request(url, method:.post,
parameters:parameter, encoding:URLEncoding.default)
.reponse{response in
print("The output is: ",response, request!.description)
}
PostMan代码
POST /dao/webapi/myprofile HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: 7681b040-1a3bo-1k0k-21b8-c7993b32ab28
password=dusty962!&fName=george&city=glassfish&
stateProv=NJ&zip=09023&emailId=douglas%40test.com&
age=1960&sex=male&uType=U&salary=6&occupation=programmer
&secQuestion=married&secAnswer=twice
最佳答案
您正在向请求方法传递参数而不是参数。这只是您提交问题时的拼写错误还是您有参数变量?我想如果您不这样做,Xcode 会让您知道。
关于swift - 发布请求在 postman 中工作正常,但我无法使其与 Swift 4 和 Alamofire 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48528457/
我需要做一个 POST请求带有 JSON 的 HTTP 正文对象,但我还需要在同一个请求中使用 url 查询参数。 POST: http://www.example.com/api/create?pa
这里是原始的 github issue , 支持者建议在这里开一个帖子以获得更多公众支持。 我正在使用 xcode 6.4。 $ pod --version 0.38.2 我的播客文件: platfo
我在项目中使用cocoapods安装alamofire,它在模拟器中运行良好。当我想在 iphone 6s(ios 13.3.1) 上运行我的应用程序时,它崩溃并显示错误消息。我的 Xcode 版本是
如何取消 Alamofire 共享管理器中的所有请求? 这是我的功能: class func cancelAllRequests() { Alamofire.Manager.sharedIns
我想有多个适配器到同一个 SessionManager,这可能吗? 我的用例是: 从适配器设置默认 header 如果是 basic_auth:添加 basic_auth_adapter 如果是tok
调用 Alamofireobject 映射器的正确方法吗? 有人对我的问题提出建议吗? 最佳答案 func postRequestSample() { let
我是 IOS 的新手,这是我的第一个项目,我想在我的项目中使用 Alamofire 库 我按照所有步骤使用 Cocoapods 安装库,一切都应该正常工作,但我收到这个错误“No这样的模块'Alamo
我是 Swift 的新手,来自 Alamorefire Referencee , 你可以做以下的请求 Alamofire.request(.GET, "http://httpbin.org/get")
默认情况下,Alamofire 发送一个包含 gzip 的 Accept-Encoding header 。我如何告诉它停止这样做?我确实接受 gzip,我很高兴 Alamofire 为我解析它,但是
AFImage 的新功能。我不确定这是否是获取图像并将其缓存的正确方法。似乎每次运行时它都没有访问服务器,但我不确定它是否被缓存了?我走运了?看来我在下面使用的语法也过时了...... 任何评论表示赞
我检查了新的 Alamofire 安装步骤。 由于我需要针对 iOS 7.0,我想知道是否导入 Alamofire.swift是否足以让它工作? 为什么文档声明将函数包裹在 Struct Alamof
在 Alamofire 5 Beta 中,SessionManager已被 Session 取代. 我想知道现在分配 RequestAdapter 的过程是什么,因为这是一个 var在 Alamofi
任何人都可以提出一些关于如何使用 header 扩展 alamofire 的建议,例如需要在发送之前设置的 Content-MD5? 最佳答案 这是一个有点老的问题,但我遇到了同样的问题,我使用以下代
有没有人看到用指纹而不是公钥来固定 Alamofire 的方法? 对不起,如果这已经得到回答,我还没有在任何地方看到它。 谢谢 最佳答案 这最终变得非常简单。下面的代码可能并不完美,我的真实代码正在做
我想运行一个 Alamofire 请求,该请求使用先前 Alamofire 请求的结果作为参数。为了简单起见: //Code1 Alamofire.request("URL", met
当我尝试在应用程序中的 Xcode 中运行我的 iOS 应用程序时: dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
我想运行一个使用先前 Alamofire 请求的结果作为参数的 Alamofire 请求。为简单起见: //Code1 Alamofire.request("URL", method:
更新:我解决了这个问题。请在下面查看我的回答(在问题和评论下方)。 这个问题被标记为重复,但它是不同的,因为它是一个全新的错误,我无法通过任何搜索找到它。 我尝试将 Alamofire 安装到我的 X
我想先 POST 到一个网站,然后 GET 另一个网站获取数据。 并更改 POST 中的 key ,并在 for 循环中继续这样做 5 次以获得不同的数据。 但是,程序总是先运行 POST 5 次,然
我正在使用 Alamofire 5(测试版 1)为 WooCommerce 编写 API 客户端,这将允许我获取订单、优惠券等以及创建它们。注意我使用的是新的 .responseDecodable功能
我是一名优秀的程序员,十分优秀!