0

我正在尝试使用 / 之间的 ID 调用 url。

网址如下所示:http://localhost:8080/chargeback/v1/dispute/22/events

我需要从控制器的 sysout 中恢复该值 22。

我知道这听起来很容易,但是在我的项目中,我正在尝试与其他程序员一起修复这个问题很多次。也许我忘记了一些配置。

界面:

@RequestMapping("/dispute")
public interface disputeEvents{

    @GetMapping( value = "/{id}/events")
    ResponseEntity<Void> getDisputeEvents(@RequestParam Long id);

}

控制器:

@Controller
public class testeController implements disputeEvents{

    @Override
    public ResponseEntity<Void> getDisputeEvents(Long id) {
    System.out.println(id);
    return null;
    }
}
4

2 回答 2

0

更改您的接口和类,如下面的代码所示。

@RequestMapping("/default")
public interface disputeEvents {

    @GetMapping("/{id}/events")
    ResponseEntity<Void> getDisputeEvents(@PathVariable Long id);

}
@Controller
@RequestMapping("/dispute")
public class testeController implements disputeEvents {

    @Override
    public ResponseEntity<Void> getDisputeEvents(Long id) {
        System.out.println(id);
        return null;
    }
}

它适用于 URL:http://localhost:8080/dispute/22/events。如果您希望它适用于 Url:http://localhost:8080/chargeback/v1/dispute/22/events,请将 @RequestMapping("/dispute") 更改为 @RequestMapping("/chargeback/v1/dispute")你的控制器类。

于 2021-01-12T02:48:04.957 回答
0

我将 @GetMapping("/{id}/events") 放在控制器中。

界面:

@RequestMapping("/default")
public interface disputeEvents {
    @GetMapping( value = "/{id}/events")
    ResponseEntity<Void> getDisputeEvents(@PathVariable(name = "id") Long id);
}

控制器:

@Controller
@RequestMapping("/dispute")
public class testeController implements disputeEvents{
    @Override
    public ResponseEntity<Void> getDisputeEvents(@PathVariable(name = "id") Long id) {  
        System.out.println("teste:" + id);
        return null;
    }

}
于 2021-01-12T14:15:38.920 回答