Controller层返回自定义Result类封装结果时出错;

Controller层返回自定义Result类封装结果时出错;

http://img1.sycdn.imooc.com//climg/5d52268e000153d418200916.jpg

上面的是老师的代码,我照着老师的代码自己实现了一遍,发现返回Result类型会报错,原因应该是没有消息转换器converter,但是我翻看老师的源码,发现也没有编写converter,那么为什么可以返回除了String ModelAndView 和 Map 以外的数据类型啊?

http://img1.sycdn.imooc.com//climg/5d52268e0001708919200687.jpg

上面是报错的原因,我对应的代码如下

   @RequestMapping(value = "/getproductcategorylist", method = RequestMethod.GET)
   @ResponseBody
   private Result<List<ProductCategory>> getProductCategoryList(HttpServletRequest request) {
        //Session TODO
       Shop currentShop = new Shop();
       currentShop.setShopId(1L);

       List<ProductCategory> productCategoryList = null;
       if (currentShop != null && currentShop.getShopId() > 0) {
           productCategoryList = productService.getProductCategoryList(currentShop.getShopId());
           return new Result<List<ProductCategory>>(productCategoryList,true);
       } else {
           ProductCategoryStateEnum ps = ProductCategoryStateEnum.INNER_ERROR;
           return new Result<>(false,ps.getStateInfo(),ps.getState());
       }
   }

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
芝芝兰兰 2019-08-13 14:18:25

同学你好。这里错误提示中的No converter found for return value of type: class com.memo.dto.Result,翻译过来是:没有找到类型返回值的转换器:com.memo.dto.Result。

converter 并不是具体的类,而是方法声明的返回值类型。

同学可以检查一下com.memo.dto对应位置有没有Result类。并且将Result<>中添上对应的泛型。保存,重新编译http://img1.sycdn.imooc.com//climg/5d5256270001c23500490044.jpg一下

http://img1.sycdn.imooc.com//climg/5d5255d80001f11708460404.jpg

如果解答了同学的疑问,望采纳~

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师