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
TOP