728x90
※ 서버 A의 Controller에 들어갈 소스
@ResponseBody
@RequestMapping(value="/post/postMapping", produces="application/json; charset=utf8")
public String postmapping(
@RequestParam(value="userId", required=false, defaultValue="0") String userId
) throws Exception {
String result = "fail";
try {
System.out.println(userId);
} catch(RestClientException e) {
log.error(e.getMessage());
} catch(Exception e) {
log.error(e.getMessage());
}
return result;
}
※ 서버 B의 RestApi에서 작성
//serviceimpl단 작성
public Response requestMethod() {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(charset.forName("UTF-8")));
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
map.add("userId", "chogodo");
ResponseEntity<?> response = restTemplate.postForEntity("http://localhost/post/postMapping", map, String.class);
String result = (String) response.getBody();
return Response.status(200).entity("OK").build();
}
//service에 작성
@GET
@Path("requestMethod")
@Consumes({MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response requestMethod;
// 실행 시 restApi 접근 url에 Path만 붙여서 접속하면 실행
// ex) "http://localhost/requestMethod"
간단요약 : 서버 B → 서버 A로 userId 데이터를 넘기면서 요청한 후 result로 "fail"값을 리턴받는다.
서버 A의 소스는 아래와 같아도 상관없음.
//spring 4.3이상
@PostMapping("post/postMapping")
public String postmapping(
@RequestParam(value="userId", required=false, defaultValue="0") String userId
) throws Exception {
String result = "fail";
try {
System.out.println(userId);
} catch(RestClientException e) {
log.error(e.getMessage());
} catch(Exception e) {
log.error(e.getMessage());
}
return result;
}
728x90
'Dev History > Exemple Source' 카테고리의 다른 글
interceptor IP 허용 및 차단하기 (0) | 2019.12.06 |
---|