Java JPOS Restful API发送和接收数据
我从配置JPOS中的RESTFul APIJava JPOS Restful API发送和接收数据,java,api,restful-url,jpos,Java,Api,Restful Url,Jpos,我从配置JPOS中的RESTFul API 问题是我无法从客户端接收数据,但我可以向客户端发送数据。 在Echo.java类中,我可以通过以下代码发送数据: package org.jpos.rest; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response;
问题是我无法从客户端接收数据,但我可以向客户端发送数据。
在
Echo.java
类中,我可以通过以下代码发送数据:
package org.jpos.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.HashMap;
import java.util.Map;
@Path("/echo")
public class Echo {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response echoGet() {
Map<String, Object> resp = new HashMap<>();
resp.put("success", "true");
resp.put("Name", "Hamid");
resp.put("Family", "Mohammadi");
Response.ResponseBuilder rb = Response.ok(resp, MediaType.APPLICATION_JSON).status(Response.Status.OK);
return rb.build();
}
}
package org.jpos.rest;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.products;
导入javax.ws.rs.core.MediaType;
导入javax.ws.rs.core.Response;
导入java.util.HashMap;
导入java.util.Map;
@路径(“/echo”)
公共类回声{
@得到
@产生({MediaType.APPLICATION_JSON})
公众响应echoGet(){
Map resp=新的HashMap();
分别出售(“成功”、“真实”);
分别出售(“名称”、“哈米德”);
分别出售(“家庭”、“穆罕默德”);
Response.ResponseBuilder rb=Response.ok(resp,MediaType.APPLICATION_JSON).status(Response.status.ok);
返回rb.build();
}
}
如何从客户端接收数据?没有用于查找请求及其数据的请求参数 感谢@Sabir Khan 我将代码更改为:
@Path("/echo")
public class Echo {
@PUT
@Produces({MediaType.APPLICATION_JSON})
@Consumes(MediaType.TEXT_PLAIN)
@Path("/{name}/{family}")
public Response echoGet(
@PathParam("name") String name,
@PathParam("family") String family,
String Desc
) {
Map<String, Object> resp = new HashMap<>();
resp.put("success", "true");
resp.put("Name", name);
resp.put("Family", family);
resp.put("Desc", Desc);
Response.ResponseBuilder rb = Response.ok(resp,
MediaType.APPLICATION_JSON).status(Response.Status.OK);
return rb.build();
}
}
@Path(“/echo”)
公共类回声{
@放
@产生({MediaType.APPLICATION_JSON})
@使用(MediaType.TEXT\u PLAIN)
@路径(“/{name}/{family}”)
公众回应(
@PathParam(“名称”)字符串名称,
@PathParam(“族”)字符串族,
字符串描述
) {
Map resp=新的HashMap();
分别出售(“成功”、“真实”);
分别输入(“名称”,名称);
分别出售(“家庭”,家庭);
分别投入(“说明”,说明);
Response.ResponseBuilder rb=Response.ok(resp,
状态(Response.status.OK);
返回rb.build();
}
}
并将数据发送到RESTFul API,如下所示:
如果您无法接收客户数据,您如何响应?您显示的代码不接受任何输入,它只生成json响应而不接受任何输入。您是否编写了任何其他需要输入的方法&客户端提供的输入没有到达您的服务器?如果是这样的话,请分享代码。@SabirKhan这段代码来自jpos网站的pdf。我很困惑。jpos站点描述了上述调用的方法,比如-
curl-i-H“Accept:application/json”-H“Content Type:application/json”
——即没有输入json。那么为什么要给它一个json输入呢?方法echoGet()
不接受任何输入。我想,您的代码工作得非常好。问题是什么?看