还有一个controller的接口
时间: 2024-02-28 15:57:04 浏览: 52
好的,以下是一个使用`DictionaryService`的Controller接口示例:
```
@RestController
@RequestMapping("/dictionary")
public class DictionaryController {
@Autowired
private DictionaryService dictionaryService;
// 获取字典类型列表
@GetMapping("/list")
public List<Map<String, Object>> getDictionaryList() {
List<Map<String, Object>> result = new ArrayList<>();
for (DictionaryEnum dictionary : dictionaryService.getDictionaryList()) {
Map<String, Object> map = new HashMap<>();
map.put("type", dictionary.getType());
map.put("code", dictionary.getCode());
map.put("name", dictionary.getName());
result.add(map);
}
return result;
}
// 根据type和code获取字典类型
@GetMapping("/{type}/{code}")
public Map<String, Object> getDictionaryByTypeAndCode(@PathVariable String type, @PathVariable int code) {
DictionaryEnum dictionary = dictionaryService.getDictionaryByTypeAndCode(type, code);
if (dictionary != null) {
Map<String, Object> result = new HashMap<>();
result.put("type", dictionary.getType());
result.put("code", dictionary.getCode());
result.put("name", dictionary.getName());
return result;
} else {
throw new NotFoundException("Dictionary not found");
}
}
}
```
在这个示例中,我们定义了一个`DictionaryController`类,使用`@RestController`和`@RequestMapping`注解来定义Controller的访问路径。在Controller中,我们注入了`DictionaryService`,并且定义了两个接口方法:`getDictionaryList`和`getDictionaryByTypeAndCode`。
`getDictionaryList`方法返回字典类型的列表信息,使用了`dictionaryService.getDictionaryList`方法获取字典类型列表,然后将每个字典类型的type、code、name属性封装为一个Map对象,最后将所有的Map对象添加到一个List中返回。
`getDictionaryByTypeAndCode`方法根据传入的type和code参数获取对应的字典类型信息,使用了`dictionaryService.getDictionaryByTypeAndCode`方法获取字典类型,如果获取成功就将字典类型的type、code、name属性封装为一个Map对象返回,否则抛出`NotFoundException`异常。
这样,我们就可以通过访问`/dictionary/list`和`/dictionary/{type}/{code}`来获取字典类型的列表和具体的字典类型信息了。
阅读全文