2

1つのドメインクラス、1つのコントローラー、1つのURLマッピングがあります(以下を参照)。リクエストを送信し、JSONレスポンスを受信したい。

しかし、現在、私のリクエストはコレスポンデントコントローラーメソッドに正しくマップされており、メソッドは正常に実行され、jsp-fileが利用できないというメッセージとともにエラーが発生します。

jspファイルは必要ないというGrailsの説明方法:JSONリクエストを受信/解析し、コントローラーから直接JSONレスポンスを送信したいですか?

class Brand {

    String name
    String description
    String logoImageURL

    static constraints = {
        name(blank: false)
    }
}

---------------------------
class UrlMappings {
     static mappings = {
        "/brands"(controller: "brand", parseRequest: true, action: "list")
     }
}

---------------------------
import grails.converters.JSON

class BrandController {

    def list = {
        return Brand.list() as JSON
    }

    def show = {
        return Brand.get(params.id) as JSON
    }

    def save = {
        def brand = new Brand(name: params.name, description: params.description, logoImageURL: params.logoURL)
        if (brand.save()) {
            render brand as JSON
        } else {
            render brand.errors
        }
    }
}

============== Error message ===============
Request URL: http://localhost:8080/ShoesShop/brands

message /ShoesShop/WEB-INF/grails-app/views/brand/list.jsp

description The requested resource (/ShoesShop/WEB-INF/grails-app/views/brand/list.jsp) is not available.
4

1 に答える 1

3

代わりに次のようにすると機能するはずです。

def list = {
    render Brand.list() as JSON
}
于 2012-05-17T14:48:07.607 に答える