Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Java 正在尝试通过列表<;T>;使用springmvc的in-post方法?_Java_Rest_Spring Mvc_Spring Boot - Fatal编程技术网

Java 正在尝试通过列表<;T>;使用springmvc的in-post方法?

Java 正在尝试通过列表<;T>;使用springmvc的in-post方法?,java,rest,spring-mvc,spring-boot,Java,Rest,Spring Mvc,Spring Boot,尝试使用SpringBootMVC在post方法中传递List,我尝试将json数组传递给RESTAPI,RESTAPI接受List,但它表示请求正文的格式不正确 这是我正在传递的JSON格式 [{"quotation":100001,"customer":"ZOMRAN KHALED MEDICAL UNIT", "currency":"Algerian dinar (DZD)","country":"Algeria","language":"English", "product":"

尝试使用SpringBootMVC在post方法中传递List,我尝试将json数组传递给RESTAPI,RESTAPI接受List,但它表示请求正文的格式不正确

这是我正在传递的JSON格式

[{"quotation":100001,"customer":"ZOMRAN KHALED MEDICAL UNIT",
  "currency":"Algerian dinar (DZD)","country":"Algeria","language":"English",
  "product":"9100C","modality":"LCS","subModality":"ARC","services":"PM,CM",
  "serviceType":"SWIFT","price":"1500","responseTime":"24H","createdTime":"24/04/2018"},

  {"quotation":100002,"customer":"ZOMRAN KHALED MEDICAL UNIT",
  "currency":"Algerian dinar (DZD)","country":"Algeria","language":"English",
  "product":"9100C","modality":"LCS","subModality":"ARC","services":"PM,CM",
  "serviceType":"SWIFT","price":"1500","responseTime":"24H","createdTime":"24/04/2018"}
  ]
这是我捕获数组的Java控制器

@RequestMapping(value = "/carePlanQuotationHistory", method = RequestMethod.POST, produces = {
        MediaType.APPLICATION_JSON_VALUE, MediaType.TEXT_PLAIN_VALUE })
public @ResponseBody Response CarePlanQuotationHistory1(@RequestBody List<CarePlanHistoryRequest> carePlanQuotationHistory1) throws Exception {
    int a;
    try {
        a = productService.CarePlanQuotationHistory1(carePlanQuotationHistory1);

    } catch (Exception ex) {
        return new Response("400", ex.getMessage());
    }
    return new Response("200", a);
}
这是我们得到的错误

{
    "timestamp": 1526647767010,
    "status": 400,
    "error": "Bad Request",
    "exception": "org.springframework.http.converter.HttpMessageNotReadableException",
    "message": "Could not read document: Can not instantiate value of type [simple type, class com.careplan.springbootstarter.entity.Customer] from String value ('ZOMRAN KHALED MEDICAL UNIT'); no single-String constructor/factory method\n at [Source: java.io.PushbackInputStream@46f9d4f8; line: 1, column: 21] (through reference chain: java.util.ArrayList[0]->com.careplan.springbootstarter.entity.CarePlanQuotationHistory[\"customer\"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.careplan.springbootstarter.entity.Customer] from String value ('ZOMRAN KHALED MEDICAL UNIT'); no single-String constructor/factory method\n at [Source: java.io.PushbackInputStream@46f9d4f8; line: 1, column: 21] (through reference chain: java.util.ArrayList[0]->com.careplan.springbootstarter.entity.CarePlanQuotationHistory[\"customer\"])",
    "path": "/api/product/carePlanQuotationHistory"
}
这是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Entransys</groupId>
  <artifactId>CarePlanConfig</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>CarePlanConfig Maven Webapp</name>
  <url>http://maven.apache.org</url>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
</parent>


<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
  </dependency>

  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
</dependency>

        <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.12</version>
</dependency>
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

            <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.3</version>
</dependency>

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3</version>
    </dependency>

  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.5</version>
</dependency>

</dependencies>
  <build>
     <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
        <executable>true</executable>
    </configuration>
        </plugin>

<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
      <execution>
          <id>copy-resources</id>
          <phase>validate</phase>
          <goals><goal>copy-resources</goal></goals>
          <configuration>
              <outputDirectory>${basedir}/target/classes/static/</outputDirectory >
              <resources>
                  <resource>
                      <directory>${basedir}/../care-plan-client/dist</directory >
                  </resource>
              </resources>
          </configuration>
      </execution>
</executions>
</plugin>



    </plugins>
  </build>
</project>

4.0.0
诱捕
CarePlanConfig
罐子
0.0.1-快照
CarePlanConfig Maven Webapp
http://maven.apache.org
org.springframework.boot
spring启动程序父级
1.3.5.1发布
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring引导启动器数据jpa
mysql
mysql连接器java
com.fasterxml.jackson.core
杰克逊数据绑定
com.fasterxml.jackson.core
杰克逊核心
com.fasterxml.jackson.core
杰克逊注释
org.apache.poi
poi ooxml
3.12
org.apache.poi
poi
3.12
net.sourceforge.jexcelapi
jxl
2.6.12
org.apache.commons
公用电子邮件
1.3
文件上传
文件上传
1.3
org.apache.commons
commons-lang3
3.5
org.springframework.boot
springbootmaven插件
真的
maven资源插件
复制资源
验证
复制资源
${basedir}/target/classes/static/
${basedir}/./护理计划客户/地区

看起来您传递的JSON格式不正确。您已将引号定义为字符串,但仍将其作为数值传递。我建议将引号更改为整数,或者在将其作为JSON传递时将其值包装在引号中。

也发布pom.xml。错误说明了
客户
类,可以显示它吗?乍一看,似乎
引号
应该是一个数字而不是字符串。因此,要么在值
“quote”:“100001”
中添加引号,要么将类型更改为int或其他数字类型。您做错了什么。您的异常涉及
com.careplan.springbootstarter.entity.Customer,但我在您的代码中找不到该类。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>Entransys</groupId>
  <artifactId>CarePlanConfig</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>CarePlanConfig Maven Webapp</name>
  <url>http://maven.apache.org</url>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.5.RELEASE</version>
</parent>


<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
  </dependency>

  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
</dependency>

        <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.12</version>
</dependency>
<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

            <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.3</version>
</dependency>

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3</version>
    </dependency>

  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.5</version>
</dependency>

</dependencies>
  <build>
     <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
        <executable>true</executable>
    </configuration>
        </plugin>

<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
      <execution>
          <id>copy-resources</id>
          <phase>validate</phase>
          <goals><goal>copy-resources</goal></goals>
          <configuration>
              <outputDirectory>${basedir}/target/classes/static/</outputDirectory >
              <resources>
                  <resource>
                      <directory>${basedir}/../care-plan-client/dist</directory >
                  </resource>
              </resources>
          </configuration>
      </execution>
</executions>
</plugin>



    </plugins>
  </build>
</project>