一个 restful 网络服务是否有可能在 url 中有一个参数



我被指示创建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 以两种标准方式提供参数。

  1. 查询参数 : http://172.20.40.4:8080/Oxalys_WS/stock?ITM=1559
  2. 路径变量 : http://172.20.40.4:8080/Oxalys_WS/stock/1559

查询参数 :- 这是一种典型的旧方法,通过使用一些以 ?(问号)开头的变量将某些值作为 QueryParam 传递,并使用 =(等于)分配值。

PathVariable :- 这是为 REST-api 服务引入的较新模式。URL 的结构必须使需要在 URL 中传递多个参数时看起来不会太混乱。

有关更多信息,请浏览此链接

是的,您可以在URL中包含该网址当您需要具有路径变量时,您可以输入请求 URL

最新更新