gpt4 book ai didi

java - 警告 : Resolved [org. springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型 'application/json']

转载 作者:行者123 更新时间:2023-12-01 16:21:40 24 4
gpt4 key购买 nike

enter image description here enter image description here enter image description here大家好,请建议我如何解决这个问题我正在尝试使用休息网络服务请参阅下面的代码


import java.sql.ResultSet;
import java.util.Date;
import java.util.Map;

import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.cwg.entrust.entities.InputString;
import com.cwg.entrust.entities.TokenObject;
import com.cwg.entrust.services.MyConnectionProvider;
import com.cwg.entrust.services.TolenDAO;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;[![enter image description here][3]][3]
@RestController
@RequestMapping("/test")
public class TfaServiceController implements TolenDAO {
java.sql.Connection con = null;
java.sql.PreparedStatement ps = null;
Date date = new Date();
String the_date = date.toString();
@PostMapping(value = { "/validateToken" },
consumes = { MediaType.APPLICATION_JSON_VALUE }
, produces = { MediaType.APPLICATION_JSON_VALUE })
public Boolean getIsValidToken(@RequestBody Map<String, String> json_Input) throws Exception {
String str = json_Input.get("str1") ;
String token = json_Input.get("str2") ;

Boolean result = false;

if (str.equalsIgnoreCase(token)) {
result = true;
}

return result;
}

}

查看下面的有效负载

{
"str1": "test one",
"str2": "two test"
}

Postman 上的 Content-Type 和 Accept 均设置为 application/json

但是我们不断遇到以下错误

WARNING: Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json' not supported]

请告诉我如何毫无问题地使用此网络服务谢谢大家。

最佳答案

由于您在类级别使用 @RestController 注释,因此不必在方法级别使用 @ResponseBody 注释来表明它是一个Rest 端点,并且 Controller 方法的响应类型将为 json(默认情况下为 Springboot 中的 Rest)。将 Controller 方法更改为:

@RequestMapping(value = "/validateToken", method = RequestMethod.POST)
public Boolean getIsValidToken(@RequestBody Map<String, String> json_Input) throws Exception {
String str = json_Input.get("str1") ;
String token = json_Input.get("str2") ;

Boolean result = false;

if (str.equalsIgnoreCase(token)) {
result = true;
}

return result;
}

此外,您还可以使用 @PostMapping("/validateToken") 注释来代替 @RequestMapping(value = "/validateToken", method = RequestMethod.POST)如果您的 springboot 版本支持它。除此之外,您还可以使用以下方式指定端点期望或生成的数据类型:

@PostMapping(value = { "/validateToken" }, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE )
public Boolean getIsValidToken(@RequestBody Map<String, String> json_Input) throws Exception {
String str = json_Input.get("str1") ;
String token = json_Input.get("str2") ;

Boolean result = false;

if (str.equalsIgnoreCase(token)) {
result = true;
}

return result;
}

注意:消耗/生产也可以与@RequestMapping一起使用。

关于java - 警告 : Resolved [org. springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型 'application/json'],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62256182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com