Когда я публикую Map<String,Object> с помощью Feign Client, я получаю сообщение об ошибке:
feign.FeignException: status 400 reading MAp .
Код
//Client side
@Component
@FeignClient(name = ServiceID.TACHE)
@RibbonClient(name = ServiceID.TACHE)
public interface ITacheService extends ITache {
@RequestMapping(value = TACHE_CONTROLLER + "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
Map<String, Object> save(@RequestBody Map<String,Object> map);
}
@Controller
@RequestMapping("/task")
public class TaskController {
// Server side
@RequestMapping(value = "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
Map<String, Object> save(@RequestBody Map<String, Object> map) throws ParseException { }
}




Вам действительно нужно, чтобы это была карта?
Попробуйте это с помощью Hashset или HashMap, например
//Client side
@Component
@FeignClient(name = ServiceID.TACHE)
@RibbonClient(name = ServiceID.TACHE)
public interface ITacheService extends ITache {
@RequestMapping(value = TACHE_CONTROLLER + "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
HashMap<String, Object> save(@RequestBody HashMap<String,Object> map);
}
@Controller
@RequestMapping("/task")
public class TaskController {
// Server side
@RequestMapping(value = "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
HashMap<String, Object> save(@RequestBody HashMap<String, Object> map) throws ParseException { }
}
или
//Client side
@Component
@FeignClient(name = ServiceID.TACHE)
@RibbonClient(name = ServiceID.TACHE)
public interface ITacheService extends ITache {
@RequestMapping(value = TACHE_CONTROLLER + "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
HashSet<String, Object> save(@RequestBody HashSet<String,Object> set);
}
@Controller
@RequestMapping("/task")
public class TaskController {
// Server side
@RequestMapping(value = "/save", produces = {"application/json; charset=UTF-8"},method = RequestMethod.POST)
@ResponseBody
HashSet<String, Object> save(@RequestBody HashSet<String, Object> set) throws ParseException { }
}
Эвертон, вы имели в виду HashSet<String> во втором фрагменте?
Рад, что помог тебе :D