我试图在客户端测试我的REST服务(在服务器上调用Spring MVC).
我可以使用PostMan在服务器端使用Json打网址,一切都很好,所以我知道服务器端是正确的.
服务器端MVC方法:代码:
@RequestMapping(value = "/device/event/{type}", method = RequestMethod.POST)
@ResponseStatus(value = HttpStatus.OK)
public void processEvent(@PathVariable String type,
@RequestBody DeviceEvent event) throws Exception {
log.info("Device Event["+type+"] generated by Device["+event.getDeviceAddress()+"] ");
if (StringUtils.isBlank(type) || event == null ||
StringUtils.isBlank(event.getDeviceAddress()) ||
StringUtils.isBlank(event.getDeviceType())) {
return;
}
deviceEventHandlers.get(type).handleEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
客户端方法:代码:
public void newNodeEvent(DeviceEvent event) {
final String apiUrl = eventRepository + "/" + DeviceEventType.DEVICE_NEW.getCode();
this.sendEvent(event, apiUrl);
}
@Async
private void sendEvent(final DeviceEvent event, final String apiUrl) {
try {
ResponseEntity<String> response = restTemplate.postForEntity(new URI(apiUrl), …Run Code Online (Sandbox Code Playgroud)