我有一台服务器。如何从服务器向我的Android应用程序发送信息?这是我的控制器方法之一:
@RequestMapping("/city/{cityId}")
public ModelAndView showCity(@PathVariable("cityId") int cityId){
ModelAndView mav=new ModelAndView("city/cityDetails");
mav.addObject(this.whatsNewService.findCityById(cityId));
return mav;
}
答案 0 :(得分:0)
我在这种情况下你无法传递ModelAndView(其实你可以)。但最好的选择是使用REST。您可以将此方法设置为REST api方法。并传递杰森的对象。
通常,Web应用程序通过REST API公开其服务,以供第三方应用程序使用或为其移动应用程序供电
@RestController
public class CityController {
@Autowire
private WhatsNewService whatsNewService;
@RequestMapping(method = RequestMethod.GET, value = "/city/{cityId}")
public City showCity(@PathVariable("cityId") int cityId){
return this.whatsNewService.findCityById(cityId);
}
}
或者您可以使用相同的@Controller
类和
@Controller
public class CityController {
@Autowire
private WhatsNewService whatsNewService;
@RequestMapping(method = RequestMethod.GET, value = "/city/{cityId}")
public @ResponseBody City showCity(@PathVariable("cityId") int cityId){
return this.whatsNewService.findCityById(cityId);
}
}
在android客户端,您可以使用类似库的RETROFIT将您的josn对象映射到应用程序对象。