Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 无法将json映射到POJO_Spring_Spring Boot - Fatal编程技术网

Spring 无法将json映射到POJO

Spring 无法将json映射到POJO,spring,spring-boot,Spring,Spring Boot,我的控制器如下所示 @CrossOrigin @RequestMapping(value = "/addenquiry", method = RequestMethod.POST, produces = "application/json") public Response<Enquiry> addEnquiry(@RequestBody Enquiry enquiry,HttpSession session) { Response<Enquiry> respon

我的控制器如下所示

@CrossOrigin
@RequestMapping(value = "/addenquiry", method = RequestMethod.POST, produces = "application/json")
public Response<Enquiry> addEnquiry(@RequestBody Enquiry enquiry,HttpSession session) {
    Response<Enquiry> response = new Response<Enquiry>();


@Component
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Enquiry {

    private String enqId;

    //Getters and setters which are public

它没有被映射,并打印空值。

您必须删除
查询
类中的
@组件
注释。如果添加一个Spring注释,如
@Component
@Controller
@Service
,则指定该类将是一个springbean。默认情况下,该bean将是一个单例bean,并且只在上下文中存在一个单例bean

在您的情况下,您希望根据每个请求发布一个新的查询对象。幕后的春天和杰克逊会为你做到这一点。如果没有
@组件
注释,它将是一个正常的POJO,并且在spring上下文中不存在

站点说明:如果您确实希望
查询
处于spring上下文中,您可以留下
@组件
注释并添加范围
原型

@Component
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Enquiry {}

这将指定spring在您每次请求时都创建一个新实例。

您必须删除
查询
类中的
@Component
注释。如果添加一个Spring注释,如
@Component
@Controller
@Service
,则指定该类将是一个springbean。默认情况下,该bean将是一个单例bean,并且只在上下文中存在一个单例bean

在您的情况下,您希望根据每个请求发布一个新的查询对象。幕后的春天和杰克逊会为你做到这一点。如果没有
@组件
注释,它将是一个正常的POJO,并且在spring上下文中不存在

站点说明:如果您确实希望
查询
处于spring上下文中,您可以留下
@组件
注释并添加范围
原型

@Component
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Enquiry {}

这将指定每次您请求spring时,它都会创建一个新实例。

其他类可以映射,但不能映射这个类。为什么有
在json属性名称的末尾,
{“enqId;”
?没有;也没有working@StanislavL:你能看到没有发生这种情况的任何原因吗。其他类可以映射,但不能映射这个类。为什么json的属性名后面有
{“enqId;”
?没有;也没有working@StanislavL当前位置你能看出这种情况没有发生的原因吗。