Web services 如何使用Pentaho(水壶)正确使用JAX-RS(RESTEasy)
我想通过HTTP POST请求将数据(表employees)发送到我的API服务,并将其保存到数据库中 一段代码:Web services 如何使用Pentaho(水壶)正确使用JAX-RS(RESTEasy),web-services,rest,pentaho,resteasy,kettle,Web Services,Rest,Pentaho,Resteasy,Kettle,我想通过HTTP POST请求将数据(表employees)发送到我的API服务,并将其保存到数据库中 一段代码: @POST @Consumes({ "application/json" }) @Produces(MediaType.TEXT_PLAIN) @Path("/full/json") public Response recieveDataFJson(Employee employee) { System.out.println("Recieved employee with
@POST
@Consumes({ "application/json" })
@Produces(MediaType.TEXT_PLAIN)
@Path("/full/json")
public Response recieveDataFJson(Employee employee) {
System.out.println("Recieved employee with name: " + employee.getName());
return Response.ok("works").build();
}
我使用JSON输出项来准备发送到服务的数据,但我认为问题在于Pentaho以以下格式发送JSON:
{"Employee":[{"name":"mike"}]}
但服务只是在等待:
{"name":"mike"}
我试图删除初始标记,但发送项目为:
{"":[{"name":"mike"}]}
我的服务没有身份验证,URL是正确的
我能做什么,或者有其他更有效的方法吗?我找到了一种解决问题的“棘手”方法:
在pentaho:
将表数据传递给JSON并以纯文本形式发送
在职:
以纯文本形式接收请求,然后将字符串解析为JSON,将JSON解析为JAVA对象:
JSONObject jsnobject = new JSONObject(recievedString);
ObjectMapper mapper = new ObjectMapper();
SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss.SSS");
mapper.setDateFormat(format);
JSONArray jsonArray = jsnobject.getJSONArray("Employee");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Employee employee = mapper.readValue(jsonObject.toString(),
Employee.class); = new NegocioBean();
negocioBean.aplicarReglas(factOrdenesTransporte);
}
JSONObject jsnobject=新的JSONObject(receivedstring);
ObjectMapper mapper=新的ObjectMapper();
SimpleDataFormat格式=新的SimpleDataFormat(“yy/MM/dd HH:MM:ss.SSS”);
setDateFormat(格式);
JSONArray JSONArray=jsnobject.getJSONArray(“员工”);
for(int i=0;i
我找到了解决问题的“棘手”方法:
在pentaho:
将表数据传递给JSON并以纯文本形式发送
在职:
以纯文本形式接收请求,然后将字符串解析为JSON,将JSON解析为JAVA对象:
JSONObject jsnobject = new JSONObject(recievedString);
ObjectMapper mapper = new ObjectMapper();
SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss.SSS");
mapper.setDateFormat(format);
JSONArray jsonArray = jsnobject.getJSONArray("Employee");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Employee employee = mapper.readValue(jsonObject.toString(),
Employee.class); = new NegocioBean();
negocioBean.aplicarReglas(factOrdenesTransporte);
}
JSONObject jsnobject=新的JSONObject(receivedstring);
ObjectMapper mapper=新的ObjectMapper();
SimpleDataFormat格式=新的SimpleDataFormat(“yy/MM/dd HH:MM:ss.SSS”);
setDateFormat(格式);
JSONArray JSONArray=jsnobject.getJSONArray(“员工”);
for(int i=0;i
您可以修改Pentaho的请求数据吗?我的意思是,更改Pentaho发送的JSON。是的,但我没有找到确切的方法告诉Pentaho如何编写JSON,只需编辑一些参数即可修改Pentaho的请求数据?我的意思是,更改Pentaho发送的JSON。是的,但我没有找到确切告诉Pentaho如何编写JSON的方法,只是编辑一些参数