如何将信息从服务器发送到Android

时间:2016-05-28 19:27:41

标签: android spring web-services

我有一台服务器。如何从服务器向我的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;
}

1 个答案:

答案 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对象映射到应用程序对象。