2016-04-06 2 views
2

私は何かにこだわっていて、助けが必要です。具体的には、私はPOJOは、次のように定義されています:スネークケースでの春MVCリターン

spring: 
    application: 
     name: Usage Service 
    jackson: 
     property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES 

私の応答:

@Override 
public AAAUserCountDTO getUserCount(final String userName, final Date startDate, final Date endDate) 
     throws BadParameterException { 
    final String sql = "select uid, user_name, first_name, last_name from usage where user_name = :user_name and process_time >= :start_date and process_time < :end_date"; 

    final SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("user_name", userName) 
      .addValue("start_date", startDate).addValue("end_date", endDate); 

    try { 
     return jdbcTemplate.queryForObject(sql, namedParameters, 
       new BeanPropertyRowMapper<DTO>(DTO.class).se); 

    } catch (EmptyResultDataAccessException e) { 
     throw new BadParameterException(); 
    } 
} 

私も自分のアプリケーションのYMLファイルでこのセットを持っている:

private String uid; 
private String userName; 
private String firstName; 
private String lastName; 

私のDAOは次のようになります次のようになります。

uid: 1234, 
userName: "Bob", 
firstName: "Bob", 
lastName: "Hopkins", 
etc... 

がどのように私はPOJOの一環として、JSONのプロパティ表記で各1を伝えることなく、

おかげ

答えて

1

を強制することができ、コードのこの行は役立ちます:

@Override 
public void onApplicationEvent(ObjectMapperConfigured event) { 
    event.getObjectMapper().setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);   
}