HTTPBuilder在Grails中编码utf-8

dim*_*iro 5 grails utf-8

我在Grails中使用HTTPBuilder时遇到问题.

代码是这样的.

def http = new HTTPBuilder("theURL")

http.request(method, ContentType.JSON) {
    uri.path = "theURI"

    headers.'Authorization' = "OAuth  $accessToken"
    headers.'Accept' = "application/json"
    headers.'content-type' = "application/json;charset=utf-8"

    response.success = { resp, json ->
        result = json
    }
}

return result
Run Code Online (Sandbox Code Playgroud)

现在响应是带有"CobroN 1234"的JSON,但我需要"CobroNº1234"

我用curl尝试了这个并且响应很好"CobroNº1234",这让我觉得问题是HTTPBuilder而不是我的API响应请求.

我认为这是响应编码的问题.

roe*_*gol 0

尝试这个:

headers.'content-type' = "application/JSON;charset=UTF-8" //capitalized
Run Code Online (Sandbox Code Playgroud)

或者,试试这个:

@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
Run Code Online (Sandbox Code Playgroud)