首页 > 解决方案 > 使用 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 响应

标签: restgrails

解决方案


推荐阅读