-1

OpenFeign/feign を使用して API リクエストを送信しています。

import feign.Body
import feign.Param
import feign.RequestLine

interface ApiServiceInterface {
    @RequestLine("POST /container/{cid}/key/bulk")
    @Body("{bulk}")
    public void bulk(@Param("cid") Long cid, @Param("bulk") Bulk bulk)
}

@Body("{bulk}")オブジェクトを文字列に変換するため、機能していません。

[ApiServiceInterface#bulk] ---> POST http://localhost:5050/container/11/key/bulk HTTP/1.1
[ApiServiceInterface#bulk] Content-Length: 45
[ApiServiceInterface#bulk] 
[ApiServiceInterface#bulk] com.***.tns.hoth.key.bulk.Bulk@5dd5fb75
[ApiServiceInterface#bulk] ---> END HTTP (45-byte body)

オブジェクトを JSON オブジェクトに自動的に変換する方法はありますか?

これは私が構築する方法ですFeign.Builder

    def mapper = new ObjectMapper()
    mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
    mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
    mapper.readerForUpdating(this)

    return Feign.builder()
            .logger(new Logger.JavaLogger().appendToFile("logs/hoth.log"))
            .logLevel(Logger.Level.BASIC)
            .decoder(new JacksonDecoder(mapper))
            .encoder(new JacksonEncoder(mapper))
4

2 に答える 2

-1

あなたが試すことができます

def feignJson = JsonSlurper.toJson(feignObject)

そして、オプションで

def pretyJsonOutput = JsonOutput.prettyPrint(feignJson)

詳細を確認してください: http://groovy-lang.org/json.html

于 2016-10-31T17:52:24.353 に答える