具有相同RestEndPoint的两个不同方法:如何解决?

问题描述 投票:0回答:1

我想知道是否根据每个方法RestEndPoint调用在控制器中映射到两个不同方法的相同PRODUCES。>

以下描述了我的要求?

@Controller
ContollerClass {

   @GetMapping(value = "/v1/v2/{userID}", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<byte[]> getUser( {

      // Rest of code

   }

    @GetMapping(value = "/v1/v2/{userID}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
    public ResponseEntity<byte[]> getBinUser( {

      // Rest of code

   }
}

如图所示,它对GET请求有两种不同的方法,并且Rest end point完全相同。唯一的区别是它们返回的return type

[现在,当任何HTTP客户端调用此其余端点(可以是browsercurlpostman等)时,如何区分将实际调用哪个端点?与produces有关系吗?如果是这样,客户端必须调用什么?是否需要提供accept HTTP标头?

我想知道是否根据每个方法产生的结果来调用映射到控制器中两个不同方法的相同RestEndPoint。下面描述了我要的是什么? @Controller ...

java spring http spring-restcontroller
1个回答
0
投票

您可以根据某些参数来区分它们,例如您可以尝试类似

© www.soinside.com 2019 - 2024. All rights reserved.