【发布时间】:2014-11-25 21:04:56
【问题描述】:
我正在尝试让 @RestController 接受 @PathVariable 返回 JSON 格式的特定对象以及正确的状态代码。到目前为止,代码的方式是返回 JSON 格式的对象,因为它默认使用 Spring 4 内置的 Jackson 库。
但是我不知道如何制作它,所以它会向用户发送一条消息,说我们想要一个 api 变量,然后是 JSON 数据,然后是错误代码(或成功代码,取决于一切是否顺利)。示例输出为:
请输入 api 值作为参数(注意,如果需要,也可以是 JSON)
{"id": 2, "api": "3000105000" ... }(注意这将是 JSON 响应对象)
状态码 400(或正确的状态码)
带参数的url是这样的
http://localhost:8080/gotech/api/v1/api/3000105000
我目前的代码:
@RestController
@RequestMapping(value = "/api/v1")
public class ClientFetchWellDataController {
@Autowired
private OngardWellService ongardWellService;
@RequestMapping(value = "/wells/{apiValue}", method = RequestMethod.GET)
@ResponseBody
public OngardWell fetchWellData(@PathVariable String apiValue){
try{
OngardWell ongardWell = new OngardWell();
ongardWell = ongardWellService.fetchOneByApi(apiValue);
return ongardWell;
}catch(Exception ex){
String errorMessage;
errorMessage = ex + " <== error";
return null;
}
}
}
【问题讨论】:
-
轻微反对,但看起来代码说 url 应该以
/api/v1/wells/{apiValue}结尾,而不是/api/v1/api/{apiValue}
标签: java json spring spring-mvc