【问题标题】:Make Postman test - Grails制作 Postman 测试 - Grails
【发布时间】:2018-11-08 04:50:25
【问题描述】:

我对 grails 集成进行了以下测试:

def http = new HTTPBuilder(loginUrl)
http.request( POST, TEXT ) {
    headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'
    send URLENC, [j_username: username, j_password: password]

    response.success = { resp, reader ->
        loggedIn = ! reader.text.contains("j_username")
    }
}

我正在尝试在 Postman 中进行测试,但由于 send URLENC, [j_username: username, j_password: password]

,我不确定我是否正确执行此操作

我放了 POST 类型的路由,然后放了类似的东西:

{
    j_username: username,
    j_password: password
}

以及headers参数:

'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'
'Content-type' = 'Application/json'

但它总是在正文中返回我的登录表单,有人知道如何安装这个测试吗?

更新

实际上在其他项目中,我遵循参考并且效果很好。但是我开发了 grails 响应部分,没有留下api/login 路由,并且我相信登录是通过相同的 web 路由 /login/auth 完成的,但是我无法通过邮递员验证测试,而是在 web 徽标上完美。

更新 2

我相信在收到我的登录请求的项目中,为了方便起见,他们已经通过同一个web访问了api,并且这个请求被挂载在集成中,不要发出json类型的请求,因为“发送 URLENC”,有人可以向我解释一下如何在邮递员中拨打这个电话吗?

【问题讨论】:

  • 您应该为此使用x-www-form-urlencoded 选项。以j_usernamej_password 作为字段名

标签: rest http post grails postman


【解决方案1】:

如果你有默认的 Spring Security 和 Spring Security REST 配置,我是怎么做的:

【讨论】:

  • 我也是这样尝试的。但是你在标题中放的只是'application/json'?
  • 是的。您是否按照以下说明配置了过滤器链:alvarosanchez.github.io/grails-spring-security-rest/latest/docs/…
  • 实际上在其他项目中我遵循参考并且效果很好。但是我开发了grails响应部分,没有留下api / login路由,而且我相信登录是通过相同的web路由,/login / auth完成的,但是我无法验证邮递员的测试,但是在完美的网络标志。
  • Spring Security REST 进行 REST 登录的方式是通过一个特殊的拦截器来捕获对 /api/login 的调用。它不像 Web 登录表单那样使用 LoginController。因此,需要按照文档中的说明进行正确配置。
  • 所以,走/api/login的路由,返回401,没有找到。所以我尝试通过 Postman 登录,就像使用登录表单一样。
猜你喜欢
  • 2018-10-28
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多