Web services 在不使用HTML表单的情况下将@FormParam值传递给rest服务

Web services 在不使用HTML表单的情况下将@FormParam值传递给rest服务,web-services,rest,jax-rs,restful-architecture,restful-url,Web Services,Rest,Jax Rs,Restful Architecture,Restful Url,我们有一个现有的RESTWeb服务,它执行某种在线事务。创建它是为了接收@FormParam类型的输入。当我们调用这个web服务时,我们最初只是通过将其附加到url来传递值 e、 g。 /sometransaction?信用卡号=123 问题是,由于该编号被附加到url,因此会将其记录在web服务器http请求日志中。这不可能,因为这是敏感信息。我们需要以HTML表单进行POST提交的相同方式传递此消息,它要求参数不附加到url并由web服务器记录。问题是,我们没有一个UI页面来完成这项工作。这

我们有一个现有的RESTWeb服务,它执行某种在线事务。创建它是为了接收@FormParam类型的输入。当我们调用这个web服务时,我们最初只是通过将其附加到url来传递值

e、 g。 /sometransaction?信用卡号=123

问题是,由于该编号被附加到url,因此会将其记录在web服务器http请求日志中。这不可能,因为这是敏感信息。我们需要以HTML表单进行POST提交的相同方式传递此消息,它要求参数不附加到url并由web服务器记录。问题是,我们没有一个UI页面来完成这项工作。这基本上只是一个web服务调用另一个web服务

我们如何才能做到这一点

代码:


它是一个rest web服务。params类TXNParms具有@FormParam属性

确保
内容类型
设置为
应用程序/x-www-form-urlencoded
,并在请求有效负载中发送数据

使用
&
分隔参数,并使用
=
将参数与其值关联

请求将是这样的:

POST/sometransaction HTTP/1.1
主持人:example.org
内容类型:application/x-www-form-urlencoded
creditCardNumber=4111111和到期日期=2016年9月

当通过网络发送敏感信息时,请始终使用HTTPS。

请求负载中包含的内容是什么意思?在标题中?@lecarpetrondookmarion request payload=请求的主体与之前相同,但唯一的区别是内容类型是url编码的?正确吗?@lecarpetrondookmarion参数值必须是URL编码的。因此,只要内容类型是URL编码的,我们就可以在URL中附加参数?
@POST
@Path("/dotransaction")
Public Response doTransaction(@BeanParam TxnParams) {

}