使用URL映射的Grails Restful Web服务

使用URL映射的Grails Restful Web服务,rest,grails,Rest,Grails,我使用Grails3版本构建RESTfulWeb服务,并按照以下步骤提供API来验证用户。如果我错过了任何步骤,请告诉我,而不是json响应获取应用程序的登录url 第一步。创建了扩展RestfulController的控制器 类MyExampleController扩展了RestfulController{ static responseFormats = ['json', 'xml'] MyExampleController() { super() } UserService us

我使用Grails3版本构建RESTfulWeb服务,并按照以下步骤提供API来验证用户。如果我错过了任何步骤,请告诉我,而不是json响应获取应用程序的登录url

第一步。创建了扩展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

旋度-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端点