春天:从POST方法重定向不起作用

时间:2019-07-17 14:52:57

标签: spring http spring-mvc postman

我正在尝试让我的Spring控制器接收POST请求。我想获取发布请求的正文并将其显示在网页上。我通过邮递员发送请求。我的控制器收到了它,但是以某种方式,当我尝试像往常一样重定向到另一个页面时,Spring呈现了html模板并将其发送回Postman。

我的代码:

@GetMapping("/webhooks")
public String webhooks(Model model) {
    model.addAttribute("response", "webhooks");
    return "connected";

@PostMapping("/webhooks")
public String webhooks(String payload, Model model) {
    model.addAttribute("response", payload);
    return "connected";
}

我的connected.html模板:

<body>
<a href="/" >Home</a>
<h3>Connected!</h3>
<div>
  <button onclick="refreshToken()">Refresh Token</button>
  <br /><br />
  <button onclick="newCustomer()">Create new customer</button>
  <button onclick="invoice()">Create new invoice</button>
  <br />
  <div><code id="result" th:text="${response}"></code></div>
</div>
</body>

这是我在邮递员窗口中看到的内容: link to image

但是我希望在浏览器中看到相同的形式(如图所示),而不是在邮递员中。我想重定向到此页面,而不是将此页面发送回Postman。我在其他控制器中也有一些类似的方法,这些方法是完全相同的,但是它们可以正常工作。

我在做什么错?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

我和您有相同的问题,我尝试了不同的方法来解决此问题,但没有一个对我有用。但是您可以尝试一下:

@GetMapping("/webhooks")
public RedirectView webhooks(Model model) {
    //Do what you want
    return new RedirectView("/connected");

@PostMapping("/webhooks")
public RedirectView webhooks(String payload, Model model) {
    //Do what you want
    return new RedirectView("/connected");
}

这对我而言并不奏效,但可能会对您有所帮助。您可以使用Spring的RedirectView类,然后输入指向端点的URL。

请让我知道它是否对您有用!

友好的问候

Danilo Jakob