使用URL映射的Grails Restful Web服务
我使用Grails3版本构建RESTfulWeb服务,并按照以下步骤提供API来验证用户。如果我错过了任何步骤,请告诉我,而不是json响应获取应用程序的登录url 第一步。创建了扩展RestfulController的控制器 类MyExampleController扩展了RestfulController{使用URL映射的Grails Restful Web服务,rest,grails,Rest,Grails,我使用Grails3版本构建RESTfulWeb服务,并按照以下步骤提供API来验证用户。如果我错过了任何步骤,请告诉我,而不是json响应获取应用程序的登录url 第一步。创建了扩展RestfulController的控制器 类MyExampleController扩展了RestfulController{ static responseFormats = ['json', 'xml'] MyExampleController() { super() } UserService us
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
旋度-v-g-khttps://localhost:8444/appName/roomCheckAPI/login/user1
响应:重定向到应用程序的登录URL而不是json响应“响应:位置:”-看起来您被重定向到NC少年司法部CAS服务器进行登录。你的应用程序中是否有可能导致这种情况的插件?您的应用程序中是否存在可能导致此问题的拦截器?在您显示的
MyExampleController
代码之外,肯定存在一些相关的内容。您的应用程序中是否有一个插件配置为将未经验证的对此url的请求重定向到登录页面?是@j我在build.gradle文件中有CAS服务器插件“是@j我在build.gradle文件中有CAS服务器插件”-您是否在询问如何使此端点不受您的安全插件规则的约束?是@JeffScottBrown,当客户端点击webservice url时,它不应通过CAS服务器登录,而是需要直接访问webservice端点