springboot2.4.3在返回json字符串時可以直接使用@restcontroller注解。
@RestController
public class MyController {
@RequestMapping("/test")
public Test test(){
return new Test(12, "asdf");
}
}
但是卻遇到type=Not Acceptable, status=406這個錯誤,IDEA控制台報警告:org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation。
意思是不可接受的http數據類型,這坑爹的錯誤類型導致我以為是jackson沒有自動配置好(springboot的web starter依賴中自帶json轉換的starter,有jackson、gson、jsonb三種方式,默認使用jackson),於是開始瘋狂查為什么沒有自動配置好json轉換的配置。
找了好久最后發現問題所在:不是因為沒有自動配置好,是因為實體類沒有getter方法。在實體類上加上相應的getter方法,就可以生成json字符串,有幾個getter方法就會生成對應屬性的json。
那你為什么要報這個406這個錯誤類型呢?簡直誤導,服氣。。