Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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/5/url/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 SpringREST返回带有特定http响应代码的JSON响应_Java_Json_Spring_Rest_Spring Mvc - Fatal编程技术网

Java SpringREST返回带有特定http响应代码的JSON响应

Java SpringREST返回带有特定http响应代码的JSON响应,java,json,spring,rest,spring-mvc,Java,Json,Spring,Rest,Spring Mvc,我对春天很陌生。我在Spring中编写了一个RESTAPI,但我不知道如何使用自定义http响应代码返回JSON响应 我返回一个JSON响应,如下所示: public String getUser(String id){ ... return jsonObj; } 但它总是显示200个http ok状态代码 以下是我的问题: 如何同步响应JSON和HTTP代码 如何在void函数中返回JSON响应和自定义HTTP代码?使用@ResponseStatus注释: @GetMapping @Res

我对春天很陌生。我在Spring中编写了一个RESTAPI,但我不知道如何使用自定义http响应代码返回JSON响应

我返回一个JSON响应,如下所示:

public String getUser(String id){

...
return jsonObj;
}
但它总是显示200个http ok状态代码

以下是我的问题:

如何同步响应JSON和HTTP代码

如何在void函数中返回JSON响应和自定义HTTP代码?

使用@ResponseStatus注释:

@GetMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public String getUser(String id) {...}
另一种方法:如果您想以编程方式决定返回什么状态,可以使用ResponseEntity。将方法的返回类型更改为ResponseEntity,您将获得如下DSL:

ResponseEntity
        .status(NOT_FOUND)
        .contentType(TEXT_PLAIN)
        .body("some body");
使用@ResponseStatus注释:

@GetMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public String getUser(String id) {...}
另一种方法:如果您想以编程方式决定返回什么状态,可以使用ResponseEntity。将方法的返回类型更改为ResponseEntity,您将获得如下DSL:

ResponseEntity
        .status(NOT_FOUND)
        .contentType(TEXT_PLAIN)
        .body("some body");
我是怎么做的 下面是如何从Spring处理程序方法返回JSON。 我的技术有些过时, 但它们仍然是合理的

配置Jackson 将以下内容添加到spring配置xml文件:

<bean name="jsonView"
    class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
</bean>
注释处理程序方法

您还可以使用@PostMethod注释

@PostMethod("/webServiceUri")
从处理程序方法返回ResponseEntity 调用实用程序方法来构建响应属性

不同的故事 您可以使用@JsonView注释。 有关这方面的详细信息,请查看。 浏览到ref页面并搜索@JsonView。

我是如何做到的 下面是如何从Spring处理程序方法返回JSON。 我的技术有些过时, 但它们仍然是合理的

配置Jackson 将以下内容添加到spring配置xml文件:

<bean name="jsonView"
    class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
</bean>
注释处理程序方法

您还可以使用@PostMethod注释

@PostMethod("/webServiceUri")
从处理程序方法返回ResponseEntity 调用实用程序方法来构建响应属性

不同的故事 您可以使用@JsonView注释。 有关这方面的详细信息,请查看。
浏览到ref页面并搜索@JsonView。

我有if条件。例如,如果未找到用户,则返回404状态代码,否则返回200I have if条件。例如,如果找不到用户,请返回404状态码,否则返回200非常感谢您的详细回答!非常感谢您的详细回答!