###########################
######Rest Provider code#####
##########################
@Controller
@Scope("request")
@RequestMapping(value = "/v1/program")
public class ProgramController {
@Autowired
@Qualifier("ProgramService")
private IProgramService iProgramService;
@RequestMapping(value = ProgramURIConstant.ADD_PROGRAM, method = RequestMethod.POST, produces = { MediaType.APPLICATION_JSON_VALUE })
public @ResponseBody
String addProgram(@RequestBody ProgramVO programVO) {
programVO.setTimestamp(DateUtils.getCurrentTimeIntoTimestamp());
String result = iProgramService.addProgram(programVO);
return result;
}
}
Step-1
Access the RestTemplate Bean
<beans>
<bean id="crestTemplate" class="org.springframework.web.client.RestTemplate">
</bean>
</beans>
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("rest-template.xml");
RestTemplate restTemplate = (RestTemplate) applicationContext.getBean("crestTemplate");
Step-2
Define Accept Media (Which is responsible for output format from Restful Web service)
List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
Step-3
Creating HttpHeader object
HttpHeaders headers = new HttpHeaders();
Step-4
Setting Accept media inside the header
// what output we are expecting
headers.setAccept(acceptableMediaTypes);
Step-5
Setting Content Type iinside the header
// /We are setting the format of data which will from client to server
headers.setContentType(MediaType.APPLICATION_JSON);
Step-6
Define JSON Data which we want to send to the provider
ProgramVO programVO=new ProgramVO();
programVO.setCode("fororueueueueu");
programVO.setId("P039393");
programVO.setLanguage("Kava");
programVO.setLevel("1");
programVO.setProgramTiitle("Binary Nuber");
programVO.setTopic("Coding");
programVO.setUserid("akash");
Step-7
// setting header and data inside the HttpEntity which will work as a request
//in Restful communication
HttpEntity<ProgramVO> requestEntity = new HttpEntity<ProgramVO>(programVO,headers);
Step-8
Calling the Restful web service
ResponseEntity<String> response = restTemplate.exchange("http://www.gpsprogramys.co.in/com.gps.quiz/android/v1/program/add", HttpMethod.POST, requestEntity,String.class);
String output=response.getBody();
No comments:
Post a Comment