rest - 使用 URL 映射的 Grails Restful Web 服务
问题描述
我正在使用 Grails 3 版本来构建 RESTFUL Web 服务,并按照以下步骤提供 API 来验证用户。而不是json响应获取应用程序的登录url,如果我错过任何步骤,请告诉我
STEP 1. 创建扩展 RestfulController 的控制器
类 MyExampleController 扩展 RestfulController {
static responseFormats = ['json', 'xml']
MyExampleController() {
super()
}
UserService userService
static allowedMethods = [
index : ["POST", "GET"],
history : ["GET", "POST"],
validateUser : ["GET"]
]
def index() { }
def validateUser() {
println "User........${params.uid}"
String userName = params.uid
Map info = userService.getUserInfo(userName)
if (!info) {
render status: org.springframework.http.HttpStatus.NOT_FOUND
return
}
render info as JSON
}
}
第 2 步:在 URL Mappings.groovy 文件中添加以下行
“/roomCheckAPI/login/$uid?”(控制器:“myExample”,操作:“validateUser”)
使用以下 curl 请求查看 json 响应,但获取应用程序的登录 url
curl -v -g -k https://localhost:8444/appName/roomCheckAPI/login/user1
响应:重定向到应用程序的登录 URL 而不是 json 响应
解决方案
推荐阅读
- sql - 如何检查列是否正在更新
- c++ - OpenMP 并行 for 循环和 std::vector 缩减
- java - Android Google Maps - 如何检查折线是否为空
- c# - 将 3gp 文件转换为 Ogg Vorbis?
- database - 将一个 Google Bigquery 数据库的内容移动到另一个 Bigquery 数据库
- angular - 延迟加载不适用于角度 4
- google-cloud-platform - Google Cloud Storage:上传的文件会显示在 gsutil 上,但不会显示在控制台上。版本控制关闭,没有生命周期规则,存储多区域
- database-design - Sequelize ORM 关系与外键
- c# - GridView 在 AddRow 函数上返回 2 个新的详细信息行
- python - Python NamedTuple 类型层次结构