一个宁静的Web服务是否可能在url中有一个参数?

时间:2019-02-04 06:11:20

标签: rest spring-boot

我被指示创建Web服务(使用Spring-Boot)。我的同事给了我Web服务的URL,它看起来像这样: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;
    }
}

那么用网址中的参数创建Restful弹簧启动webservice是否正常?

2 个答案:

答案 0 :(得分:1)

Spring通过两种标准方式提供参数。

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

查询参数:-这是传递一些值的一种典型的旧方法,因为QueryParam使用从?(问号)开始的某些变量,并使用{{1 }}(等于)。

PathVariable :-这是REST-api服务的较新模式。 URL的结构必须确保在URL中需要传递多个参数的情况下不会显得过于混乱。

有关更多信息,Navigate this link

答案 1 :(得分:0)

是的,您可以在网址中输入一个 当需要使用path变量时,可以输入Request URL