多个 Java 对象到单个端点

我希望让 Spring 使用正确的端点,而不是为我的 Spring Boot Rest Controller 构建 case 语句。我什至不确定这是否可能,但我希望宇宙能拯救我。


  @PostMapping("/endpoint")

    public String one(Greeting greet) {

        return "Greeting Posted";


    }


    @PostMapping("/endpoint")

    public String two(Address addr) {

        return "Address Posted";


    }

电流误差


Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'RController' method 

public java.lang.String com.example.controller.RController.two(com.example.model.Address)

to {[/endpoint],methods=[POST]}: There is already 'RController' bean method

public java.lang.String com.example.controller.RController.one(com.example.model.Greeting) mapped.


不负相思意
浏览 147回答 2
2回答

慕工程0101907

这是不是可能的。这是模棱两可的。作为一种很好的做法,如果 2 个资源将以不同的方式处理数据,则必须为每个资源创建一个不同的端点。或者可能的解决方法,它是创建一个 ViewModel 对象并仅用一种方法处理它。public class GreetingAddressVM {    private Address address;    private Greeting greeting;}我更喜欢为每个动作创建不同的映射。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java