原创

SpringBoot で PostMapping をオーバーロードできますか?

温馨提示:
本文最后更新于 2024年04月12日,已超过 48 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

2 つのオブジェクトがあります: person と person を拡張する Stranger です。

public class Person {
    private String lastName;
    private String firstName;
}

public class Stranger extends Person {
    private String hairColor;
    private String tshirtColor;
}

REST API で /print を呼び出して、これらのオブジェクトに基づく画像を印刷したいと考えています。

すでに人物オブジェクトでそれを行っています。

    @PostMapping(value = "/print",
            produces = MediaType.TEXT_PLAIN_VALUE)
    @ResponseStatus(HttpStatus.OK)
    public String print(
            @RequestBody
            Person person) {
        return this.personService.print(person);
    }

私がやりたいのは、Stranger オブジェクトを引数として考えることができるようにしたいため、print をオーバーロードすることです。

さて、このようなものを作ることは可能ですか?

    @PostMapping(value = "/print",
            produces = MediaType.TEXT_PLAIN_VALUE)
    @ResponseStatus(HttpStatus.OK)
    public String print(
            @RequestBody
            Stranger stranger) {
        return this.personService.print(stranger);
    }

編集: RequestParamを使用して実行できることを確認したことを言うのを忘れていました (https://tomaytoTomato.com/overloading-rest-endpoints-on-spring-boot-2/)、しかし私はRequestBodyを使用しています

正文到此结束
热门推荐
本文目录