JSON parse error: Unexpected character ('\' (code 92))

Blade 未结 2 3581
ivan_lee
ivan_lee 剑圣 2020-09-07 10:12

一、该问题的重现步骤是什么?

1. 2.4.0升级2.5.1后

2. 原来的feign接口(用kafka做的一个消息中心,此接口是生成消息提交给kafka供消费者消费)

R MessageProducerVO convertMessageVo
MessageProducerVO MessageProducer = List ListStringString Long Boolean String String

图片.png图片.png

远程调用的时候没用到父类的属性,只有用到如下信息

MessageProducerVO producer = MessageProducerVOproducer.setTopicQueueproducer.setMessageTypeKafkaMsgTypeEnum..ordinalproducer.setSendGroupidList.sendTopicproducer

图片.png

升级过过后 feign接口接收不到提交的数据

报错如下

2020-09-07 09:34:41.723 DEBUG 14072 --- [ XNIO-1 task-20] .c.c.v.BladeRequestMappingHandlerMapping : Mapped to public org.springblade.core.tool.api.R cn.jzcloud.message.feign.MessageClient.sendTopic(cn.jzcloud.message.vo.MessageProducerVO)
2020-09-07 09:34:42.220 ERROR 14072 --- [ XNIO-1 task-20] o.s.c.log.error.RestExceptionTranslator  : 消息不能读取:JSON parse error: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected character ('\' (code 92)): was expecting comma to separate Object entries
 at [Source: (PushbackInputStream); line: 1, column: 1100] (through reference chain: cn.jzcloud.message.vo.MessageProducerVO["sendGroup"]->java.util.ArrayList[0])

3.


二、你期待的结果是什么?实际看到的又是什么?

目前服务器上回退到2.4.0的版本能正常生产消息  2.4.0 一次成功调用 的日志如下

================  Request Start  ================
===> POST: /client/send_topic Parameters: {"convertMessageVo":{"id":null,"createUser":null,"createDept":null,"createTime":null,"updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"tenantId":null,"templateId":null,"channelId":null,"channelName":null,"message":null,"phone":null,"weChatId":null,"successType":null,"title":null,"messageType":0,"sendType":null,"sendUser":null,"sendAppId":null,"parentSign":null,"failCause":null,"groupType":null,"sendGroup":[{"id":"1302790214144466946","createUser":null,"createDept":null,"createTime":"2020-09-07 10:06:06","updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"source":"速新闻","releaseTime":"2020-09-07 10:01:00","releaseDateTime":null,"releaseDate":"2020-09-07","attribute":null,"region":"230000000000,231100000000","originalLink":"http://www.suxinwen.cn/news/1842939","content":"受降雨影响,水利部门预计辽宁省辽河、浑河、太子河,吉林省第二松花江,黑龙江省嫩江、松花江等河流将出现明显涨水过程,其中辽河上游、嫩江中下游、第二松花江下游、松花江干流等主要江河可能<font color=\"red\">发生</font>超警洪水,<font color=\"red\">暴雨</font>区内部分河流可能<font color=\"red\">发生</font>较大洪水。","taskId":null,"collectionSource":"sina","summary":null,"score":0,"relevance":0,"similarDocsNum":null,"oriId":"15296960","mediaType":"新闻","title":" 做好防汛工作!今年第10号台风“海神”来了","userName":"新华视点微博","authorId":null,"transferContent":"<div class=\"inline-block vertical-align-middle\" style=\"width: calc(100% - 320px);\"> <!-- ngIf: icc.captureWebsiteName==\"新浪微博\" || icc.originType==\"wb\" || icc.captureWebsiteName==\"腾讯微博\" --> <!-- ngIf: icc.weiboHandleType==3 --> <div class=\"inline-block mr5\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及行业\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <!-- ngRepeat: secondTrade in icc.secondTradeList --><!-- ngIf: secondTrade!=null --><div class=\"inline-block vertical-align-middle mr5 ng-binding ng-scope\" ng-repeat=\"secondTrade in icc.secondTradeList\" ng-if=\"secondTrade!=null\">其他</div><!-- end ngIf: secondTrade!=null --><!-- end ngRepeat: secondTrade in icc.secondTradeList --> <!-- ngRepeat: thirdTrade in icc.thirdTradeList --><!-- ngIf: secondTrade!=null --><!-- end ngRepeat: thirdTrade in icc.thirdTradeList --> </span> </div> <div class=\"inline-block mr10\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"精准地域\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <div class=\"inline-block vertical-align-middle ng-binding\" style=\"color: #2A5585;\" ng-bind=\"icc.contentAddress\">黑龙江省,嫩江市,黑河市</div> </span> </div> <div class=\"inline-block relative-keyword\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及词\"><i class=\"fa\"></i></span> <span class=\"font-size-12 vertical-align-middle ng-binding\" style=\"color: #FF0000;\" ng-bind=\"icc.referenceKeyword\">暴雨,台风,发生</span> </div> </div> <div class=\"inline-block news-item-tools text-right vertical-align-middle\" style=\"width: 320px;\"> <div class=\"btn-group inline-block\" role=\"group\"> <ul class=\"font-size-0\"> <!-- 先写死,后期可控制 --> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-collection dropdown-toggle ng-scope\" id=\"scj_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至收藏夹\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"collectFoldersList!=null&amp;&amp;collectFoldersList.length>0\"> <!-- ngRepeat: collect in collectFoldersList --><!-- ngIf: collect!=null --><li role=\"presentation\" ng-repeat=\"collect in collectFoldersList\" ng-if=\"collect!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(collect.folderId,1,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"collect.name\">默认收藏夹</span> </a> </li><!-- end ngIf: collect!=null --><!-- end ngRepeat: collect in collectFoldersList --> </ul><!-- end ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-news-material dropdown-toggle ng-scope\" id=\"sck_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至简报素材\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"briefFoldersList!=null&amp;&amp;briefFoldersList.length>0\"> <!-- ngRepeat: brief in briefFoldersList --><!-- ngIf: brief!=null --><li role=\"presentation\" ng-repeat=\"brief in briefFoldersList\" ng-if=\"brief!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(brief.folderId,2,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"brief.name\">默认素材库</span> </a> </li><!-- end ngIf: brief!=null --><!-- end ngRepeat: brief in briefFoldersList --> </ul><!-- end ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-send-way dropdown-toggle ng-scope\" data-tippy=\"\" data-original-title=\"舆情下发渠道\"></button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <ul class=\"dropdown-menu pt15 pb15\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(2,icc,1);\"> <span class=\"fa-key\">短信下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(1,icc,1);\"> <span class=\"fa-key\">邮件下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(3,icc,1);\"> <span class=\"fa-key\">下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"shareQQ(icc)\"> <span class=\"fa-key\">QQ下发</span> </a> </li> </ul> </li> <li class=\"inline-block\"> <a href=\"http://www.suxinwen.cn/news/1842939\" target=\"_blank\" class=\"\"> <button type=\"button\" data-tippy-placement=\"top\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-check-origin-link\" data-tippy=\"\" data-original-title=\"查看原文\"></button> </a> </li> <li class=\"inline-block dropdown\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-copy-direct dropdown-toggle\" data-tippy=\"\" data-original-title=\"复制\"> </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" id=\"link_315994441268255563814311\" role=\"menuitem\" ng-click=\"copyLink(icc.webpageUrl,icc.id);\"> <span class=\"fa-key\">拷贝地址</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" class=\"copy-link-custom\" role=\"menuitem\" ng-click=\"aKeyToCopy(icc);\"> <span class=\"fa-key\">一键复制</span> </a> </li> </ul> </li> <!-- ngIf: view.showBatchLabel==0 --><li class=\"inline-block ng-scope\" ng-show=\"icc.readFlag==undefined &amp;&amp; view.resultPresent != 3\" ng-if=\"view.showBatchLabel==0\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-unread-status\" ng-click=\"readNews($event,icc)\" data-tippy=\"\" data-original-title=\"标已读\"> </button> </li><!-- end ngIf: view.showBatchLabel==0 --> <li class=\"inline-block ng-hide\" ng-show=\"icc.readFlag=='1' &amp;&amp; view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-read-status waves-effect waves-light color-blue\" data-tippy=\"\" data-original-title=\"已读\"> </button> </li> <li class=\"inline-block\" ng-show=\"view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-trash dropdown-toggle\" data-tippy=\"\" data-original-title=\"删除\"> </button> <ul class=\"dropdown-menu\" role=\"menu\" style=\"margin-left: 88%;\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"deleteSolrIds(icc)\"> <span class=\"fa-key\">删除信息</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"excludeCaptureWebsiteNameList(icc)\"> <span class=\"fa-key\">删除信息并排除来源</span> </a> </li> </ul> </li> </ul> </div> </div>","type":null,"userRegion":null,"userRegionName":"江苏","industry":"其他","formatContent":"受降雨影响,水利部门预计辽宁省辽河、浑河、太子河,吉林省第二松花江,黑龙江省嫩江、松花江等河流将出现明显涨水过程,其中辽河上游、嫩江中下游、第二松花江下游、松花江干流等主要江河可能发生超警洪水,暴雨区内部分河流可能发生较大洪水。","newsImages":null,"isIncident":false,"regionName":null,"html":null,"originalContent":null,"isDeal":null}],"msgProducerIdList":null,"templateSample":null,"isCopyPhone":null,"topicQueue":"jz-cloud-sentiment-brief-incident","signer":null}}
===Headers===  Accept: */*
===Headers===  Connection: Keep-Alive
===Headers===  User-Agent: okhttp/3.14.5
===Headers===  Host: 192.168.20.8:5889
===Headers===  Accept-Encoding: gzip
===Headers===  Content-Length: 11560
===Headers===  Content-Type: application/json;charset=UTF-8
================   Request End   ================

2020-09-07 10:07:36.473  INFO 1 --- [  XNIO-1 task-7] o.s.core.log.aspect.RequestLogAspect     :

================  Response Start  ================
===Result===  {"code":200,"success":true,"data":null,"msg":"操作成功"}
<=== POST: /client/send_topic (1 ms)
================   Response End   ================

三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

@FeignClient(
  value = AppConstant.APPLICATION_DESK_NAME
)
public interface INoticeClient {

  String API_PREFIX = "/client";
  String TOP = API_PREFIX + "/top";
  String JSON = API_PREFIX + "/json";

  /**
   * 获取notice列表
   *
   * @param number
   * @return
   */
  @GetMapping(TOP)
  R<List<Notice>> top(@RequestParam("number") Integer number);

  /**
   *
   * @param producer
   * @return
   */
  @PostMapping(JSON)
  R json(@RequestBody MessageProducerVO producer);

}
@ApiIgnore()
@RestController
@AllArgsConstructor
public class NoticeClient implements INoticeClient {

  private final NoticeMapper mapper;

  @Override
  @GetMapping(TOP)
  public R<List<Notice>> top(Integer number) {
     return R.data(mapper.topList(number));
  }

  @Override
  @PostMapping(JSON)
  public R json(@RequestBody MessageProducerVO producer){
     System.out.println(JsonUtil.toJson(producer));
     return R.data(producer);
  }
}

经仔细排查发现,2.5.1解析不了如下字符串  原2.4.0可以

"<div class=\"inline-block vertical-align-middle\" style=\"width: calc(100% - 320px);\"> <!-- ngIf: icc.captureWebsiteName==\"新浪微博\" || icc.originType==\"wb\" || icc.captureWebsiteName==\"腾讯微博\" --> <!-- ngIf: icc.weiboHandleType==3 --> <div class=\"inline-block mr5\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及行业\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <!-- ngRepeat: secondTrade in icc.secondTradeList --><!-- ngIf: secondTrade!=null --><div class=\"inline-block vertical-align-middle mr5 ng-binding ng-scope\" ng-repeat=\"secondTrade in icc.secondTradeList\" ng-if=\"secondTrade!=null\">其他</div><!-- end ngIf: secondTrade!=null --><!-- end ngRepeat: secondTrade in icc.secondTradeList --> <!-- ngRepeat: thirdTrade in icc.thirdTradeList --><!-- ngIf: secondTrade!=null --><!-- end ngRepeat: thirdTrade in icc.thirdTradeList --> </span> </div> <div class=\"inline-block mr10\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"精准地域\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <div class=\"inline-block vertical-align-middle ng-binding\" style=\"color: #2A5585;\" ng-bind=\"icc.contentAddress\">黑龙江省,嫩江市,黑河市</div> </span> </div> <div class=\"inline-block relative-keyword\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及词\"><i class=\"fa\"></i></span> <span class=\"font-size-12 vertical-align-middle ng-binding\" style=\"color: #FF0000;\" ng-bind=\"icc.referenceKeyword\">暴雨,台风,发生</span> </div> </div> <div class=\"inline-block news-item-tools text-right vertical-align-middle\" style=\"width: 320px;\"> <div class=\"btn-group inline-block\" role=\"group\"> <ul class=\"font-size-0\"> <!-- 先写死,后期可控制 --> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-collection dropdown-toggle ng-scope\" id=\"scj_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至收藏夹\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"collectFoldersList!=null&amp;&amp;collectFoldersList.length>0\"> <!-- ngRepeat: collect in collectFoldersList --><!-- ngIf: collect!=null --><li role=\"presentation\" ng-repeat=\"collect in collectFoldersList\" ng-if=\"collect!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(collect.folderId,1,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"collect.name\">默认收藏夹</span> </a> </li><!-- end ngIf: collect!=null --><!-- end ngRepeat: collect in collectFoldersList --> </ul><!-- end ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-news-material dropdown-toggle ng-scope\" id=\"sck_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至简报素材\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"briefFoldersList!=null&amp;&amp;briefFoldersList.length>0\"> <!-- ngRepeat: brief in briefFoldersList --><!-- ngIf: brief!=null --><li role=\"presentation\" ng-repeat=\"brief in briefFoldersList\" ng-if=\"brief!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(brief.folderId,2,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"brief.name\">默认素材库</span> </a> </li><!-- end ngIf: brief!=null --><!-- end ngRepeat: brief in briefFoldersList --> </ul><!-- end ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-send-way dropdown-toggle ng-scope\" data-tippy=\"\" data-original-title=\"舆情下发渠道\"></button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <ul class=\"dropdown-menu pt15 pb15\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(2,icc,1);\"> <span class=\"fa-key\">短信下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(1,icc,1);\"> <span class=\"fa-key\">邮件下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(3,icc,1);\"> <span class=\"fa-key\">下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"shareQQ(icc)\"> <span class=\"fa-key\">QQ下发</span> </a> </li> </ul> </li> <li class=\"inline-block\"> <a href=\"http://www.suxinwen.cn/news/1842939\" target=\"_blank\" class=\"\"> <button type=\"button\" data-tippy-placement=\"top\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-check-origin-link\" data-tippy=\"\" data-original-title=\"查看原文\"></button> </a> </li> <li class=\"inline-block dropdown\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-copy-direct dropdown-toggle\" data-tippy=\"\" data-original-title=\"复制\"> </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" id=\"link_315994441268255563814311\" role=\"menuitem\" ng-click=\"copyLink(icc.webpageUrl,icc.id);\"> <span class=\"fa-key\">拷贝地址</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" class=\"copy-link-custom\" role=\"menuitem\" ng-click=\"aKeyToCopy(icc);\"> <span class=\"fa-key\">一键复制</span> </a> </li> </ul> </li> <!-- ngIf: view.showBatchLabel==0 --><li class=\"inline-block ng-scope\" ng-show=\"icc.readFlag==undefined &amp;&amp; view.resultPresent != 3\" ng-if=\"view.showBatchLabel==0\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-unread-status\" ng-click=\"readNews($event,icc)\" data-tippy=\"\" data-original-title=\"标已读\"> </button> </li><!-- end ngIf: view.showBatchLabel==0 --> <li class=\"inline-block ng-hide\" ng-show=\"icc.readFlag=='1' &amp;&amp; view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-read-status waves-effect waves-light color-blue\" data-tippy=\"\" data-original-title=\"已读\"> </button> </li> <li class=\"inline-block\" ng-show=\"view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-trash dropdown-toggle\" data-tippy=\"\" data-original-title=\"删除\"> </button> <ul class=\"dropdown-menu\" role=\"menu\" style=\"margin-left: 88%;\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"deleteSolrIds(icc)\"> <span class=\"fa-key\">删除信息</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"excludeCaptureWebsiteNameList(icc)\"> <span class=\"fa-key\">删除信息并排除来源</span> </a> </li> </ul> </li> </ul> </div> </div>"

原请求数据json如下:

 {"id":null,"createUser":null,"createDept":null,"createTime":null,"updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"tenantId":null,"templateId":null,"channelId":null,"channelName":null,"message":null,"phone":null,"weChatId":null,"successType":null,"title":null,"messageType":0,"sendType":null,"sendUser":null,"sendAppId":null,"parentSign":null,"failCause":null,"groupType":null,"sendGroup":[{"id":"1302790214144466946","createUser":null,"createDept":null,"createTime":"2020-09-07 10:06:06","updateUser":null,"updateTime":null,"status":null,"isDeleted":null,"source":"速新闻","releaseTime":"2020-09-07 10:01:00","releaseDateTime":null,"releaseDate":"2020-09-07","attribute":null,"region":"230000000000,231100000000","originalLink":"http://www.suxinwen.cn/news/1842939","content":"受降雨影响,水利部门预计辽宁省辽河、浑河、太子河,吉林省第二松花江,黑龙江省嫩江、松花江等河流将出现明显涨水过程,其中辽河上游、嫩江中下游、第二松花江下游、松花江干流等主要江河可能<font color=\"red\">发生</font>超警洪水,<font color=\"red\">暴雨</font>区内部分河流可能<font color=\"red\">发生</font>较大洪水。","taskId":null,"collectionSource":"sina","summary":null,"score":0,"relevance":0,"similarDocsNum":null,"oriId":"15296960","mediaType":"新闻","title":" 做好防汛工作!今年第10号台风“海神”来了","userName":"新华视点微博","authorId":null,"transferContent":"<div class=\"inline-block vertical-align-middle\" style=\"width: calc(100% - 320px);\"> <!-- ngIf: icc.captureWebsiteName==\"新浪微博\" || icc.originType==\"wb\" || icc.captureWebsiteName==\"腾讯微博\" --> <!-- ngIf: icc.weiboHandleType==3 --> <div class=\"inline-block mr5\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及行业\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <!-- ngRepeat: secondTrade in icc.secondTradeList --><!-- ngIf: secondTrade!=null --><div class=\"inline-block vertical-align-middle mr5 ng-binding ng-scope\" ng-repeat=\"secondTrade in icc.secondTradeList\" ng-if=\"secondTrade!=null\">其他</div><!-- end ngIf: secondTrade!=null --><!-- end ngRepeat: secondTrade in icc.secondTradeList --> <!-- ngRepeat: thirdTrade in icc.thirdTradeList --><!-- ngIf: secondTrade!=null --><!-- end ngRepeat: thirdTrade in icc.thirdTradeList --> </span> </div> <div class=\"inline-block mr10\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"精准地域\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <div class=\"inline-block vertical-align-middle ng-binding\" style=\"color: #2A5585;\" ng-bind=\"icc.contentAddress\">黑龙江省,嫩江市,黑河市</div> </span> </div> <div class=\"inline-block relative-keyword\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及词\"><i class=\"fa\"></i></span> <span class=\"font-size-12 vertical-align-middle ng-binding\" style=\"color: #FF0000;\" ng-bind=\"icc.referenceKeyword\">暴雨,台风,发生</span> </div> </div> <div class=\"inline-block news-item-tools text-right vertical-align-middle\" style=\"width: 320px;\"> <div class=\"btn-group inline-block\" role=\"group\"> <ul class=\"font-size-0\"> <!-- 先写死,后期可控制 --> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-collection dropdown-toggle ng-scope\" id=\"scj_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至收藏夹\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"collectFoldersList!=null&amp;&amp;collectFoldersList.length>0\"> <!-- ngRepeat: collect in collectFoldersList --><!-- ngIf: collect!=null --><li role=\"presentation\" ng-repeat=\"collect in collectFoldersList\" ng-if=\"collect!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(collect.folderId,1,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"collect.name\">默认收藏夹</span> </a> </li><!-- end ngIf: collect!=null --><!-- end ngRepeat: collect in collectFoldersList --> </ul><!-- end ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-news-material dropdown-toggle ng-scope\" id=\"sck_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至简报素材\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"briefFoldersList!=null&amp;&amp;briefFoldersList.length>0\"> <!-- ngRepeat: brief in briefFoldersList --><!-- ngIf: brief!=null --><li role=\"presentation\" ng-repeat=\"brief in briefFoldersList\" ng-if=\"brief!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(brief.folderId,2,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"brief.name\">默认素材库</span> </a> </li><!-- end ngIf: brief!=null --><!-- end ngRepeat: brief in briefFoldersList --> </ul><!-- end ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-send-way dropdown-toggle ng-scope\" data-tippy=\"\" data-original-title=\"舆情下发渠道\"></button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <ul class=\"dropdown-menu pt15 pb15\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\          
        
2条回答
  • 2020-09-07 17:25

    MessageProducerVO以及feign的代码贴到帖子里,这样我可以方便把你调试(关于mq的业务代码可以省略)

    另外现在为了查找到原因,与json序列化无关的都可以删掉排除,比如这么做:

     1. 把mq的逻辑都注释,只留下简单的feign调用,把代码拷贝至原版的2.5.1工程下

     2. 简单调用feign,查看结果

     3. 若feign仍然有问题,则改为普通的调用,将传送的数据由postman调用,查看是否可以正常反序列化到对应的接口

     4. 若原版的2.5.1工程再以上几个操作都有错,则说明有问题,我会去调试然后找出问题


    最后关于jackson模块的提交,从2.4.0到目前位置最新版都在这了,可以下载bladex-tool,然后到blade-core-tool到jackson文件夹右键show history便可以看到。可以对比看一下哪些出了问题

    image.png

    作者追问:2020-09-08 14:32

    我在新的2.5.1 BIZ 下的demo模块里写了一个相同的feign 

    其结果也是异常

    图片.png图片.png

    @Data
    @EqualsAndHashCode(callSuper = true)
    @ApiModel(value = "MessageProducerVO对象", description = "")
    public class MessageProducerVO extends Notice {
       private static final long serialVersionUID = 1L;
    
       private List sendGroup;
    
       private String templateSample;
    
       private Long sendUser;
    
       private Boolean isCopyPhone;
    
       private String topicQueue;
    }
    @FeignClient(
      value = AppConstant.APPLICATION_DESK_NAME
    )
    public interface INoticeClient {

      String API_PREFIX = "/client";
      String TOP = API_PREFIX + "/top";
      String JSON = API_PREFIX + "/json";

      /**
       * 获取notice列表
       *
       * @param number
       * @return
       */
      @GetMapping(TOP)
      R<List<Notice>> top(@RequestParam("number") Integer number);

      /**
       *
       * @param producer
       * @return
       */
      @PostMapping(JSON)
      R json(@RequestBody MessageProducerVO producer);

    }
    @ApiIgnore()
    @RestController
    @AllArgsConstructor
    public class NoticeClient implements INoticeClient {
    
       private final NoticeMapper mapper;
    
       @Override
       @GetMapping(TOP)
       public R<List<Notice>> top(Integer number) {
          return R.data(mapper.topList(number));
       }
    
       @Override
       @PostMapping(JSON)
       public R json(@RequestBody MessageProducerVO producer){
          System.out.println(JsonUtil.toJson(producer));
          return R.data(producer);
       }
    }


    回答: 2020-09-08 14:48

    你提供的新的vo字段很少,但是我看帖子上请求的字段非常多,麻烦把简化后的请求数据json也发一下把。我想要的对应会报错的feign代码也没有提供,这样让我自己写还会浪费时间,我需要回答的问题很多,麻烦辛苦下把能提供的都提供,谢谢。不然大部分问题都是描述为主,一些关键的地方模糊或者没有代码,那我就不能复制你们造成报错的原版代码直接调试,这样就会占用更多的时间了

    作者追问:2020-09-08 17:03

    经过我继续排查,发现2.5.1版本 解析不了这样的数据

    "<div class=\"inline-block vertical-align-middle\" style=\"width: calc(100% - 320px);\"> <!-- ngIf: icc.captureWebsiteName==\"新浪微博\" || icc.originType==\"wb\" || icc.captureWebsiteName==\"腾讯微博\" --> <!-- ngIf: icc.weiboHandleType==3 --> <div class=\"inline-block mr5\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及行业\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <!-- ngRepeat: secondTrade in icc.secondTradeList --><!-- ngIf: secondTrade!=null --><div class=\"inline-block vertical-align-middle mr5 ng-binding ng-scope\" ng-repeat=\"secondTrade in icc.secondTradeList\" ng-if=\"secondTrade!=null\">其他</div><!-- end ngIf: secondTrade!=null --><!-- end ngRepeat: secondTrade in icc.secondTradeList --> <!-- ngRepeat: thirdTrade in icc.thirdTradeList --><!-- ngIf: secondTrade!=null --><!-- end ngRepeat: thirdTrade in icc.thirdTradeList --> </span> </div> <div class=\"inline-block mr10\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"精准地域\"><i class=\"fa\"></i></span> <span class=\" font-size-12 vertical-align-middle color-gray\"> <div class=\"inline-block vertical-align-middle ng-binding\" style=\"color: #2A5585;\" ng-bind=\"icc.contentAddress\">黑龙江省,嫩江市,黑河市</div> </span> </div> <div class=\"inline-block relative-keyword\"> <span class=\"tippy font-size-16 vertical-align-middle color-gray\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" data-tippy=\"\" data-original-title=\"涉及词\"><i class=\"fa\"></i></span> <span class=\"font-size-12 vertical-align-middle ng-binding\" style=\"color: #FF0000;\" ng-bind=\"icc.referenceKeyword\">暴雨,台风,发生</span> </div> </div> <div class=\"inline-block news-item-tools text-right vertical-align-middle\" style=\"width: 320px;\"> <div class=\"btn-group inline-block\" role=\"group\"> <ul class=\"font-size-0\"> <!-- 先写死,后期可控制 --> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-collection dropdown-toggle ng-scope\" id=\"scj_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至收藏夹\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"collectFoldersList!=null&amp;&amp;collectFoldersList.length>0\"> <!-- ngRepeat: collect in collectFoldersList --><!-- ngIf: collect!=null --><li role=\"presentation\" ng-repeat=\"collect in collectFoldersList\" ng-if=\"collect!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(collect.folderId,1,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"collect.name\">默认收藏夹</span> </a> </li><!-- end ngIf: collect!=null --><!-- end ngRepeat: collect in collectFoldersList --> </ul><!-- end ngIf: collectFoldersList!=null&&collectFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-news-material dropdown-toggle ng-scope\" id=\"sck_315994441268255563814311\" data-tippy=\"\" data-original-title=\"添加至简报素材\"> </button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <!-- ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --><ul class=\"dropdown-menu ng-scope\" role=\"menu\" ng-if=\"briefFoldersList!=null&amp;&amp;briefFoldersList.length>0\"> <!-- ngRepeat: brief in briefFoldersList --><!-- ngIf: brief!=null --><li role=\"presentation\" ng-repeat=\"brief in briefFoldersList\" ng-if=\"brief!=null\" class=\"ng-scope\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"insertMaterial(brief.folderId,2,icc)\"> <!--<span class=\"icon fa-user\"></span>--> <span class=\"fa-key ng-binding\" ng-bind=\"brief.name\">默认素材库</span> </a> </li><!-- end ngIf: brief!=null --><!-- end ngRepeat: brief in briefFoldersList --> </ul><!-- end ngIf: briefFoldersList!=null&&briefFoldersList.length>0 --> </li> <li class=\"inline-block dropdown\" ng-class=\"{'dropdown':icclist.length != $index+1,'dropup':icclist.length == $index+1}\" ng-show=\"view.resultPresent != 3\"> <!-- ngIf: icclist.length != $index+1 --><button ng-if=\"icclist.length != $index+1\" type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-send-way dropdown-toggle ng-scope\" data-tippy=\"\" data-original-title=\"舆情下发渠道\"></button><!-- end ngIf: icclist.length != $index+1 --> <!-- ngIf: icclist.length == $index+1 --> <ul class=\"dropdown-menu pt15 pb15\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(2,icc,1);\"> <span class=\"fa-key\">短信下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(1,icc,1);\"> <span class=\"fa-key\">邮件下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"getAddressBook(3,icc,1);\"> <span class=\"fa-key\">下发</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"shareQQ(icc)\"> <span class=\"fa-key\">QQ下发</span> </a> </li> </ul> </li> <li class=\"inline-block\"> <a href=\"http://www.suxinwen.cn/news/1842939\" target=\"_blank\" class=\"\"> <button type=\"button\" data-tippy-placement=\"top\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-check-origin-link\" data-tippy=\"\" data-original-title=\"查看原文\"></button> </a> </li> <li class=\"inline-block dropdown\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-copy-direct dropdown-toggle\" data-tippy=\"\" data-original-title=\"复制\"> </button> <ul class=\"dropdown-menu\" role=\"menu\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" id=\"link_315994441268255563814311\" role=\"menuitem\" ng-click=\"copyLink(icc.webpageUrl,icc.id);\"> <span class=\"fa-key\">拷贝地址</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" class=\"copy-link-custom\" role=\"menuitem\" ng-click=\"aKeyToCopy(icc);\"> <span class=\"fa-key\">一键复制</span> </a> </li> </ul> </li> <!-- ngIf: view.showBatchLabel==0 --><li class=\"inline-block ng-scope\" ng-show=\"icc.readFlag==undefined &amp;&amp; view.resultPresent != 3\" ng-if=\"view.showBatchLabel==0\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-unread-status\" ng-click=\"readNews($event,icc)\" data-tippy=\"\" data-original-title=\"标已读\"> </button> </li><!-- end ngIf: view.showBatchLabel==0 --> <li class=\"inline-block ng-hide\" ng-show=\"icc.readFlag=='1' &amp;&amp; view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" class=\"tippy btn btn-default-icon fa-read-status waves-effect waves-light color-blue\" data-tippy=\"\" data-original-title=\"已读\"> </button> </li> <li class=\"inline-block\" ng-show=\"view.resultPresent != 3\"> <button type=\"button\" data-tippy-placement=\"top\" data-hover=\"dropdown\" data-toggle=\"dropdown\" data-animation=\"scale-up\" data-delay=\"300\" aria-expanded=\"false\" class=\"tippy btn btn-default-icon fa-trash dropdown-toggle\" data-tippy=\"\" data-original-title=\"删除\"> </button> <ul class=\"dropdown-menu\" role=\"menu\" style=\"margin-left: 88%;\"> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"deleteSolrIds(icc)\"> <span class=\"fa-key\">删除信息</span> </a> </li> <li role=\"presentation\"> <a href=\"javascript:void(0)\" role=\"menuitem\" ng-click=\"excludeCaptureWebsiteNameList(icc)\"> <span class=\"fa-key\">删除信息并排除来源</span> </a> </li> </ul> </li> </ul> </div> </div>"


    回答: 2020-09-08 19:14

    把feign的代码以及请求的json参数发一下

    作者追问:2020-09-09 11:30

    相关代码我已经贴出来了呀,在原帖第五点下面 

    回答: 2020-09-09 13:39

    收到了,我去调试一下

    回答: 2020-09-10 17:36

    已解决,是因为字段内有很多js的代码,被xss插件拦截,把接口放行就可以了

    0 讨论(0)
  • 2020-09-08 15:51

    sendGroup字段 加上泛型试试吧

    0 讨论(0)
提交回复