我被指示创建Web服务(使用Spring-Boot)。我的同事给了我网络服务的网址,它看起来像这样:http://172.20.40.4:8080/Oxalys_WS/stock/ITM=1559
通常,我们使用 url 创建一个RestController
:
@RestController
@RequestMapping("stock")
public class StockController {
@Autowired
private StockService stockService;
@GetMapping(value = "/{code}", produces = "application/json")
public JsonModel getByCode(@PathVariable String code) {
JsonModel jsonModel = new JsonModel();
final Map<String, Object> data = new HashMap<>();
List<Stock> stock = stockService.getByCode(code);
data.put("stock", stock);
data.put("stockTotal", stockService.getTotal(code));
jsonModel.setDatas(data);
return jsonModel;
}
}
那么在 url 中创建一个带有参数的 Restful
Spring-Boot webservice
是否正常?
Spring 以两种标准方式提供参数。
- 查询参数 : http://172.20.40.4:8080/Oxalys_WS/stock?ITM=1559
- 路径变量 : http://172.20.40.4:8080/Oxalys_WS/stock/1559
查询参数 :- 这是一种典型的旧方法,通过使用一些以 ?
(问号)开头的变量将某些值作为 QueryParam 传递,并使用 =
(等于)分配值。
PathVariable :- 这是为 REST-api 服务引入的较新模式。URL 的结构必须使需要在 URL 中传递多个参数时看起来不会太混乱。
有关更多信息,请浏览此链接
是的,您可以在URL中包含该网址当您需要具有路径变量时,您可以输入请求 URL