Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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 使用@ResponseBody返回对象时的响应代码500_Java_Spring_Jakarta Ee_Spring Mvc - Fatal编程技术网

Java 使用@ResponseBody返回对象时的响应代码500

Java 使用@ResponseBody返回对象时的响应代码500,java,spring,jakarta-ee,spring-mvc,Java,Spring,Jakarta Ee,Spring Mvc,我对spring Restful编程相当陌生,因为它要求将控制器方法用作rest服务,所以我尝试以JSON格式返回一个对象,但出于某种原因,我得到的响应代码为500,日志文件中没有错误和异常 但是,如果返回类型是字符串而不是对象,则它可以成功地工作 我正在使用jackson依赖项,并在上下文文件中进行配置,假设将对象转换为json格式,并在使用@ResponseBy注释时放入响应体 //如果我返回一个对象,则响应代码为500 @RequestMapping(value = "/donorSumm

我对spring Restful编程相当陌生,因为它要求将控制器方法用作rest服务,所以我尝试以JSON格式返回一个对象,但出于某种原因,我得到的响应代码为500,日志文件中没有错误和异常

但是,如果返回类型是字符串而不是对象,则它可以成功地工作

我正在使用jackson依赖项,并在上下文文件中进行配置,假设将对象转换为json格式,并在使用@ResponseBy注释时放入响应体

//如果我返回一个对象,则响应代码为500

@RequestMapping(value = "/donorSummary", method = RequestMethod.GET,produces = "application/json")
  @PreAuthorize("hasRole('"+PermissionConstants.VIEW_DONOR+"')")
  public @ResponseBody Donor donorSummaryGenerator(HttpServletRequest request, Model model,HttpServletResponse response,
      @RequestParam(value = "donorId", required = false) Long donorId) {

       //some code here

        return donorObject; 

     }
//如果我返回字符串,则工作

 @RequestMapping(value = "/donorSummary", method = RequestMethod.GET,produces = "application/json")
      @PreAuthorize("hasRole('"+PermissionConstants.VIEW_DONOR+"')")
      public @ResponseBody StringdonorSummaryGenerator(HttpServletRequest request, Model model,HttpServletResponse response,
          @RequestParam(value = "donorId", required = false) Long donorId) {

            //some oode here 

            return donorObject.toString(); 

         }
应用上下文文件


类路径:消息
org.hibernate.dialogue.mysql5innodbdialogue
真的
没有一个
没有一个
真的
真的
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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>bsis</groupId>
    <name>BSIS</name>
    <description>(BSIS)</description>
    <artifactId>bsis</artifactId>
    <version>0.1</version>
    <packaging>war</packaging>

    <properties>
        <webapp.name>bsis</webapp.name>
        <cxf-version>2.2.10</cxf-version>
        <liquibase.propertyFile>liquibase/liquibase.properties</liquibase.propertyFile>
    </properties>

    <build>
        <finalName>${webapp.name}</finalName>
        <sourceDirectory>src</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>

        <resources>
            <resource>
                <directory>src</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>

            </resource>

        </resources>

        <testResources>
            <testResource>
                <directory>test</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.sql</include>
                </includes>
            </testResource>
        </testResources>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
                <configuration>
                    <useFile>true</useFile>
                    <includes>
                        <include>**/*Tests.java</include>
                        <include>**/*Test.java</include>

                    </includes>
                    <excludes>
                        <exclude>**/Abstract*.java</exclude>
                    </excludes>
                    <reuseForks>false</reuseForks>
                    <forkCount>1</forkCount>
                    <junitArtifactName>junit:junit</junitArtifactName>
                    <parallel>methods</parallel>
                    <threadCount>10</threadCount>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <server>tomcat</server>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <webXml>${basedir}/war/WEB-INF/web.xml</webXml>
                    <warSourceDirectory>${basedir}/war</warSourceDirectory>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.liquibase</groupId>
                <artifactId>liquibase-maven-plugin</artifactId>
                <version>2.0.3</version>
                <configuration>
                    <propertyFile>liquibase/liquibase.properties</propertyFile>
                </configuration>
                <executions>
                    <execution>
                        <id></id>
                        <phase>verify</phase>
                        <goals>
                            <goal>update</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-coyote</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-api</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-juli</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-util</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-catalina</artifactId>
            <version>7.0.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>4.1.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.common</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
            <version>4.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.1.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.1.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-envers</artifactId>
            <version>4.1.6.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.3.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.2.3</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>mchange-commons-java</artifactId>
            <version>0.2.3.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.22</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-instrument</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-instrument-tomcat</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.2</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
        </dependency>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>antlr</groupId>
            <artifactId>antlr</artifactId>
            <version>2.7.7</version>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.3</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-adapters</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
            <version>1.1</version>
        </dependency>
         //Jackson dependencies
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.12</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-core-asl</artifactId>
            <version>1.9.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-acl</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-aspects</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-core</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-mail</artifactId>
            <version>2.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>3.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>2.0.3</version>
        </dependency>   
        <dependency>    
            <groupId>turbine</groupId>  
            <artifactId>turbine</artifactId>    
            <version>2.1</version>  
        </dependency>
        <dependency>    
            <groupId>net.sf.opencsv</groupId>   
            <artifactId>opencsv</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
            <version>4.8.2</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.9.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.springtestdbunit</groupId>
            <artifactId>spring-test-dbunit</artifactId>
            <version>1.0.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.dbunit</groupId>
            <artifactId>dbunit</artifactId>
            <version>2.4.9</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <artifactId>junit</artifactId>
                    <groupId>junit</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>2.2.8</version>
        </dependency>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>sqltool</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- 
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8</version>
            <scope>test</scope>
        </dependency>
        -->
    </dependencies>
</project>

4.0.0
bsis
BSIS
(BSIS)
bsis
0.1
战争
bsis
2.2.10
liquibase/liquibase.properties
${webapp.name}
src
测试
src
**/*.爪哇
测试
假的
**/*.xml
**/*.sql
org.apache.maven.plugins
maven surefire插件
2.12
真的
**/*Tests.java
**/*Test.java
**/抽象*.java
假的
1.
junit:junit
方法
10
org.apache.tomcat.maven
tomcat7 maven插件
2.2
雄猫
maven编译器插件
3
1.6
1.6
org.apache.maven.plugins
maven战争插件
2.4
${basedir}/war/WEB-INF/WEB.xml
${basedir}/war
org.liquibase
liquibase maven插件
2.0.3
liquibase/liquibase.properties
验证
更新
javax.servlet
servlet api
2.4
org.apache.tomcat
雄猫郊狼
7.0.5
假如
org.apache.tomcat
TomcatAPI
7.0.5
假如
org.apache.tomcat
TomcatServletAPI
7.0.5
假如
org.apache.tomcat
雄猫朱莉
7.0.5
假如
org.apache.tomcat
tomcat util
7.0.5
假如
org.apache.tomcat
卡塔琳娜雄猫
7.0.5
假如
org.hibernate
hibernate-c3p0
4.1.6.最终版本
org.hibernate.common
hibernate commons注释
4.0.1.最终版本
org.hibernate
冬眠核心
4.1.6.最终版本
org.hibernate
休眠实体管理器
4.1.6.最终版本
org.hibernate
冬眠使者
4.1.6.最终版本
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
org.hibernate
休眠验证器
4.3.0.1最终版本
org.apache.httpcomponents
httpclient
4.2.3
乔达时间
乔达时间
2.1
javax.servlet
jstl
1.2
log4j
log4j
1.2.17
com.mchange
McChange commons java
0.2.3.3
mysql
mysql连接器java
5.1.22
org.springframework
春季aop
3.1.2.1发布
org.springframework
春季方面
3.1.2.1发布
org.springframework
春豆
3.1.2.1发布
org.springframework
spring上下文
3.1.2.1发布
org.springframework
spring上下文支持
3.1.2.1发布
org.springframework
弹簧芯
3.1.2.1发布
org.springframework
弹簧式
3.1.2.1发布
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.3.0</version>
</dependency>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
        <list>
            <ref bean="jsonMessageConverter"/>
        </list>
    </property>
</bean>

<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>
@Controller
@RequestMapping(value = "/testshare/service/location", produces = "application/json", consumes = "application/json")
public class LocationController {

    @Autowired
    private IStaticContentService staticContentService;

    /**
     * Service method to retrieve all <b>Locations</b> detail.
     * 
     * @return response LocationResponse
     * @throws ApplicationException
     */

    @RequestMapping(value = "/getAllLocations", produces = "application/json", method = RequestMethod.POST, consumes = "application/json")
    @ResponseBody
    public LocationResponse loadAllLocations(@RequestBody BaseRequest request) {
        LocationResponse response;

        try {

            response = staticContentService.getAllLocation();
            response.header = ResponseBuilder.buildHeader(true);

        } catch (ApplicationException e) {
            response = ResponseBuilder.buildError(e, new LocationResponse());
        } catch (RuntimeApplicationException e) {
            response = ResponseBuilder.buildResponse(e, new LocationResponse());
        } catch (Exception e) {
            response = ResponseBuilder.buildResponse(e, new LocationResponse());
        }

        return response;
    }

}
   import org.codehaus.jackson.annotate.JsonProperty;

public class BaseRequest {
    @JsonProperty("header")
    public Header header;
}
 <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="order" value="1" />
        <property name="mediaTypes">
            <map>
                <entry key="json" value="application/json" />
                <entry key="file" value="multipart/form-data" />
            </map>
        </property>

        <property name="defaultViews">
            <list>
                <!-- JSON View -->
                <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
            </list>
        </property>
    </bean>