私はRESTfulサービスを持っています。これは、開始日と終了日の2つのパラメータを取ります。@QueryParamは常にnullを表示します
@RequestParamアノテーションを使用すると、私は必要なものを得ることができます。しかし、@QueryParamを使用すると、渡されても常にnullとして表示されることに気付きました。ここで
は私のリソースです。そして、ここ
@RequestMapping(value = "/usage-query", method = RequestMethod.GET)
@ApiOperation(value = "Available Sessions - JSON Body", notes = "GET method for unique users")
public List<DTO> getUsageByDate(@QueryParam("start-date") final String startDate,
@QueryParam("end-date") String endDate)
throws BadParameterException {
return aaaService.findUsageByDate2(startDate, endDate);
}
は私のサービスです。ここに続いて
List<DTO> findUsageByDate(String startDate, String endDate) throws BadParameterException;
は私のサービスの実装である:ここで
public List<DTO> findUsageByDate(String startDate, String endDate) throws BadParameterException {
return aaaDao.getUsageByDate(startDate, endDate);
}
は私のDAOです:
List<DTO> getUsageByDate(String startDate, String endDate) throws BadParameterException;
ここで
は私のDAOの実装です:
@Override
public List<DTO> getUsageByDate(String startDate, String endDate) throws BadParameterException {
StringBuilder sql = new StringBuilder(
"select * from usage where process_time >= :start_date");
if(endDate!= null)
{
sql.append(" and process_time < :end_date");
}
sql.append(" limit 10");
System.out.println(sql.toString());
SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("start_date", startDate)
.addValue("end_date", endDate);
try {
return jdbcTemplate.query(sql.toString(), namedParameters,
new BeanPropertyRowMapper<DTO>(AAAUsageDTO.class));
} catch (EmptyResultDataAccessException e) {
throw new BadParameterException();
}
}
任意の助けいただければ幸いです。おそらく何か明白です
requestparamとquery paramの両方に対して呼び出すサービスエンドポイントは何ですか? – Sanj
残念ですが、私はコードを入れて、必要なビットを逃しました:-)これはGET/v1/usage/usage-query?start-date = 2016-01-01; end-date = 2016-03- 01 HTTP/1.1 – Xathras
開始日と終了日の間にアンパサンド&がありますか? – Sanj