GetMapping,产生和 HttpMediaTypeNotAcceptableException

GetMapping, produces and HttpMediaTypeNotAcceptableException

我正在尝试添加我的其余端点的版本控制。我正在按照 https://www.springboottutorial.com/spring-boot-versioning-for-rest-services 上的教程进行操作。我正在使用 spring-boot-starter-parent 2.6.2。我创建了 2 个端点:

@GetMapping(value="/student/produces", produces="application/vnd.app-v1+json")
public StudentV1 producesV1() {
  return new StudentV1("AA");
}

@GetMapping(value="/student/produces", produces="application/vnd.app-v2+json")
public StudentV2 producesV2() {
  return new StudentV1(new Name("BB"));
}

每当我尝试访问端点(通过 swagger/OAS3 或 curl)时,我都会收到 HttpMediaTypeNotAcceptableException:找不到可接受的表示形式。 None 我的 google-fu 有帮助。

有什么想法吗?

已修复。在我们的 WebMvcConfigurer.configureContentNegotiation 中,我们将 contentNegotiationConfigurer.ignoreAcceptHeader 设置为 true。把它改成 false,一切都很好。