Java 向RESTAPI发送路径变量

Java 向RESTAPI发送路径变量,java,angularjs,spring,rest,spring-mvc,Java,Angularjs,Spring,Rest,Spring Mvc,我有一个接受params的控制器 @GetMapping(value = "/messages/getReceivedMessage") public HttpEntity<ReceivedMessageDTO> getReceivedMessage( @ApiParam(value = "The message ID", required = true) @RequestParam Long id ) 但现在我决定更改RESTAPI地址,它将接受路径变量 @Get

我有一个接受params的控制器

@GetMapping(value = "/messages/getReceivedMessage")
public
HttpEntity<ReceivedMessageDTO> getReceivedMessage(
        @ApiParam(value = "The message ID", required = true) @RequestParam Long id
)
但现在我决定更改RESTAPI地址,它将接受路径变量

@GetMapping(value = "/received/{id}")
public
HttpEntity<ReceivedMessageDTO> getReceivedMessage(
        @ApiParam(value = "The message ID", required = true) @PathVariable Long id
)
@GetMapping(value=“/received/{id}”)
公众的
HttpEntity getReceivedMessage(
@ApiParam(value=“消息ID”,required=true)@PathVariable Long ID
)

如何将路径变量发送到控制器?

我不确定您需要什么,但您所要做的就是使用url调用您的端点,如
“/received/”+someId

或者像角一样

$http.get('/received/' + someId)

希望这有帮助。

将消息id与URL一起传递

http({ url: '/received/' + messageId, method: "GET"}) .then(function (response) { $scope.message = response.data; if(response.data.date_of_read === null) { setDateOfRead(); } }) .catch(function () { console.log('failed'); });
你需要改变

$http({
        url: '/messages/getReceivedMessage',
        method: "GET",
        params: {
            id: messageId
        }
    })


因为,您的参数值成为路径的一部分。

所以在URL angularJS中添加路径变量的问题也是如此?
$http({
        url: '/messages/getReceivedMessage',
        method: "GET",
        params: {
            id: messageId
        }
    })
$http({
        url: '/messages/'+messageId,
        method: "GET"
      })