Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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 Spring MVC Rest服务使用JSON_Java_Json_Rest_Spring Mvc_Jackson - Fatal编程技术网

Java Spring MVC Rest服务使用JSON

Java Spring MVC Rest服务使用JSON,java,json,rest,spring-mvc,jackson,Java,Json,Rest,Spring Mvc,Jackson,我正在尝试使用使用JSON的Spring MVC创建Rest API并 控制器: @RestController public class CrawlerController { @RequestMapping(value = "/checkForMarfeelizableSite", method = RequestMethod.POST) public ResponseR checkForMarfeelizableSites(@RequestBody List<Entry>

我正在尝试使用使用JSON的Spring MVC创建Rest API并

控制器:

@RestController public class CrawlerController {


@RequestMapping(value = "/checkForMarfeelizableSite", method = RequestMethod.POST)
public ResponseR checkForMarfeelizableSites(@RequestBody List<Entry> list) {

    // Response
    ResponseR responseR = new ResponseR();
    responseR.setOperationResult(OperationResult.OK);

    for (Entry entry : list) {
        System.out.println("Entry: " + entry);
    }

    return responseR;
} }
<web-app>

<display-name>Marfeel Marfeelizable Checker</display-name>

<!-- Spring Context -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/marfeel-context.xml</param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

<!-- Servlet -->
<servlet>
    <servlet-name>marfeel-crawler-api</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Mapping -->
<servlet-mapping>
    <servlet-name>marfeel-crawler-api</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<!-- Welcome file List -->
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>
web.xml:

@RestController public class CrawlerController {


@RequestMapping(value = "/checkForMarfeelizableSite", method = RequestMethod.POST)
public ResponseR checkForMarfeelizableSites(@RequestBody List<Entry> list) {

    // Response
    ResponseR responseR = new ResponseR();
    responseR.setOperationResult(OperationResult.OK);

    for (Entry entry : list) {
        System.out.println("Entry: " + entry);
    }

    return responseR;
} }
<web-app>

<display-name>Marfeel Marfeelizable Checker</display-name>

<!-- Spring Context -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/marfeel-context.xml</param-value>
</context-param>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

<!-- Servlet -->
<servlet>
    <servlet-name>marfeel-crawler-api</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<!-- Mapping -->
<servlet-mapping>
    <servlet-name>marfeel-crawler-api</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<!-- Welcome file List -->
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

你能检查一下吗

  • 改变
公共响应者检查表单查询网站(@RequestBody List (列表)

公共响应者检查表单查询网站(@RequestBody 阵列列表(列表)

(因为列表是一个接口,因此无法创建实例)

  • Entry.class:在类名上方添加@XmlRootElement,并添加一个空的contractor(对于web可导出类是必需的)

您能检查以下内容吗

  • 改变
公共响应者检查表单查询网站(@RequestBody List (列表)

公共响应者检查表单查询网站(@RequestBody 阵列列表(列表)

(因为列表是一个接口,因此无法创建实例)

  • Entry.class:在类名上方添加@XmlRootElement,并添加一个空的contractor(对于web可导出类是必需的)

您是否在请求中正确设置了内容类型标题?我正在用postman测试它!我正在发送原始json,但我没有添加任何其他内容!我应该添加哪个标题?内容类型:application/jsontank you@DavidFrank!!我现在正在运行我的服务。。。问题是我没有发送请求的标题。服务完全正确!您是否在请求中正确设置了内容类型标题?我正在用postman测试它!我正在发送原始json,但我没有添加任何其他内容!我应该添加哪个标题?内容类型:application/jsontank you@DavidFrank!!我现在正在运行我的服务。。。问题是我没有发送请求的标题。服务完全正确!