Dubbo是一個高性能、輕量級的開源Java RPC框架。在使用Dubbo時,服務端通常會將結果封裝成JSON格式返回給客戶端。下面我們來看一下,如何在Dubbo服務端返回JSON。
@DubboService public class UserServiceImpl implements UserService { @Override public UserDto getUserDtoById(Long id) { UserDto userDto = new UserDto(); userDto.setId(id); userDto.setName("張三"); return userDto; } @Override public String getUserDtoJsonById(Long id) { UserDto userDto = new UserDto(); userDto.setId(id); userDto.setName("張三"); return JSON.toJSONString(userDto); } }
在上面的代碼中,我們定義了一個名為getUserDtoJsonById的方法,該方法返回UserDto對象的JSON格式。在Dubbo中,我們需要使用JSON.toJSONString來將UserDto對象轉換為JSON格式字符串,然后將其作為返回值。
在客戶端調用該方法時,我們需要通過parse方法將JSON格式的字符串轉換為UserDto對象:
DubboRefererreferer = ReferenceFactory.createReference(UserService.class, new Url("localhost", 8090)); UserService userService = referer.getProxy(); String userJson = userService.getUserDtoJsonById(1L); UserDto userDto = JSON.parseObject(userJson, UserDto.class);
通過以上代碼,我們就可以在Dubbo服務端返回JSON格式的結果,以及在客戶端接收并解析JSON格式字符串,獲取到相應的Java對象。