gpt4 book ai didi

java - 根据RequestBody中的key区分Spring Boot PostMapping

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

我有一个带有 PostMapping 的 REST 端点,它应该能够接受正文中的不同对象并根据键的存在来映射它们。

当我对两个函数使用相同的 PostMapping 时,它会给我一个“不明确的映射”错误。

当我使用类似于 https://www.baeldung.com/spring-requestmapping 的参数时,即使请求体中存在specialKey,也会调用默认映射。

有什么解决方法可以实现这一点吗?

@PostMapping(value = "/classes", params = {"specialKey"})
public ResponseEntity<Class> createClass(@Valid @RequestBody SpecialClass class) throws URISyntaxException {
// do something special
}

@PostMapping("/classes")
public ResponseEntity<Class> createClass(@Valid @RequestBody Class class) throws URISyntaxException {
// do something
}

最佳答案

基于Mapping the same url to different methods based on request body in spring这是不可能的(或者至少当时不可能)。 params 需要一个单独的请求参数,它不能用于在请求正文中查找类似的内容。

您可以在 URI 中包含该参数,特殊端点为 /classes?specialKey,普通端点为 /classes 。但我只是使用不同的路径。

关于java - 根据RequestBody中的key区分Spring Boot PostMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522021/

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