Grails REST APIプロジェクトでは、デフォルトでGrailsはプロパティを読み込み、ラクダケース(camelCase)と仮定してプロパティをレンダリングします。しかし、多くの一般的なREST APIでは、スネークケース(snake_case)でパラメータの名前が標準化されています。 Grailsでこの自動変換を最も効果的に有効にするにはどうすればよいですか?Grails REST APIでSnakeケースをキャメルケースに自動変換しますか?
たとえば、リクエスト本体では、スネークケースの入力を受け入れたいと思います。
{
"first_name": "John"
}
レスポンスボディでは、ヘビケース出力を送信したいと思います。
{
"last_name": "Doe"
}
しかし、私はキャメルケースとGroovyの自動生成ゲッターとセッターを使用して、GrailsのではGroovyの慣習に従った合理私のドメインクラスを維持したいです。
class User {
String firstName
String lastName
}
私はMongoDBスキーマを変更しないでください。ここでは、99%のフィールドにcamelCaseという名前が付けられています。しかし、少なくともin the MongoDB docsであることがわかります.MongoDBフィールドにsnake_caseという名前を付けることをお勧めします。
Gson gson = new GsonBuilder() .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .create()
これは、あなたがテキストとしてあなたのリクエスト/レスポンスボディを取得し、に頼るべきではないことを意味します