我試圖用params發送一個httpClient.get請求,並在我的Spring控制器中使用它。我想發送搜索條件並根據該條件返回對象列表。Angular 4 http帶有多個參數到Spring請求映射
這是我search.service.ts
public getDentists(name, city, type, rating): Observable<Dentist[]>{
let params = new HttpParams();
params.set('name', name);
params.set('city', city);
params.set('type', type);
params.set('rating', rating);
return this.httpClient.get('dentists/', {params: params});
}
在我controller.java
@RequestMapping(value = "/dentists", method = RequestMethod.GET)
public List<Dentist> search(@RequestParam("name") String name,
@RequestParam("city") String city,
@RequestParam("type") String type,
@RequestParam("rating") String rating) {
return dentistRepository.findDentistByName(name);
}
這是我得到的錯誤:
- 我也得到這個錯誤: 2017-12-03 01:07:10.138警告10108 --- [nio-8080-exec-1] .wsmsDefaultHandlerExceptionResolver:由Handler執行引起的已解決的異常:org.springframework.web.bind.MissingServletRequestParameterException:必需的String參數'名稱'不存在
我的問題是我在做什麼錯,爲什麼我沒有收到requestparam參數?
@JJey NP,很高興我能幫助! – LLai