0
IBM MF8 Java 어댑터에서 게시물 요청 샘플을 시도했습니다. 이 어댑터 내부 IBM MF8 Adapter Mashup - POST 요청
, 나는 또 다른 자바 어댑터, SampleAdapter의 호출을 시도하고 매개 변수 SampleAdapter는 객체 된 UserDetails를 얻을 수있다@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/balanced")
@OAuthSecurity(enabled = false)
public JSONObject generate(UserDetails userDetails , HttpRequest request, HttpSession session) throws UnsupportedEncodingException {
String messages = null;
String getProcedureURL = "/SampleAdapter/resource";
StringEntity requestEntity = new StringEntity(userDetails.toString(),ContentType.APPLICATION_JSON);
HttpPost httpPost = new HttpPost(getProcedureURL);
httpPost.setEntity(requestEntity);
JSONObject jsonObj = null;
HttpResponse response;
try {
response = adaptersAPI.executeAdapterRequest(httpPost);
jsonObj = adaptersAPI.getResponseAsJSON(response);
messages = (String)jsonObj.get("subscriptionMessage");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject json = new JSONObject();
json.put("value", messages);
return json;
}
로 된 UserDetails와 POST를하고 싶어하고있다. 그래서 일부 작업을 위해 백엔드에서 사용할 수 있습니다.
하지만 여기서는 데이터를 SampleAdapter에 가져올 수 없습니다. 또한 SampleAdapter에서 일부 String을 반환하려고했습니다.
나는 아래의 오류{"responseText":"","error":"Response cannot be parsed to JSON"}
나는 IBM MF 내부적으로 JSON 변환을한다는 것을 알고 있지만, 여기에 어떻게 어댑터 하나의 어댑터에서 POST를 할 수 있습니다를 얻을. GET 요청에 대해서만 제공되는 샘플을 볼 수 있습니다. POST에 대한 제안 사항이 있습니까?
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/balanced")
@OAuthSecurity(enabled = false)
public JSONObject generate() throws UnsupportedEncodingException {
String messages = null;
String getProcedureURL = "/SampleAdapter/resource/hello";
StringEntity requestEntity = new StringEntity("world", ContentType.APPLICATION_JSON);
HttpPost httpPost = new HttpPost(getProcedureURL);
httpPost.setEntity(requestEntity);
JSONObject jsonObj = null;
HttpResponse response;
try {
response = adaptersAPI.executeAdapterRequest(httpPost);
jsonObj = adaptersAPI.getResponseAsJSON(response);
messages = "Hello " + (String)jsonObj.get("name");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONObject json = new JSONObject();
json.put("value", messages);
return json;
}
을 그리고 여기에 POST 엔드 포인트입니다 :
코드 주셔서 감사합니다. 하지만, 내 문제는 다른 어댑터에 전체 개체를 전달하는 것입니다. "userDetails"(요청)를 다른 어댑터에 전달하는 옵션이 있는지 알고 싶습니다. – Prisy
SampleAdapter 자원 끝점과 userDetails 개체에 대한 설명을 질문에 추가 할 수 있습니까? –