javascript
delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)
spring boot 傳參
spring boot 中的Controller或者RestController接收參數的方法是一樣的。這章目標是對幾種常用的傳參都寫個例子。
創建package: com.biboheart.demos.api,這個包里放置API接口的RestController
在com.biboheart.demos.api包中創建一個class: ParamController。這章的示例都在這個類中進行。
PathVariable
路徑中包含參數,這種情況適合與傳遞一個不能為空值的參數。比如有些應用中,查詢某個企業的數據,必須包含企業的編號,就可以在地址里接收這個編號。
在ParamController中增加一個函數PathParam
package com.biboheart.demos.api;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { @RequestMapping(value = "/demo/param/path/{sn}") public String pathParam(@PathVariable String sn) { return "接收到參數:" + sn; }}路徑中的參數通過{sn}接收值。
使用名稱接收參數
使用名稱接收參數比較直觀,我用得比較多。不用注解。跟客戶端傳的參數同名就可以接收到。如下例子中的reqParam
package com.biboheart.demos.api;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { .... @RequestMapping(value = "/demo/param/req") public String reqParam(String name, Integer age) { return "接收到參數{name:" + name + ";age:" + age + "}"; }}也可以用get傳參
使用對象接收參數
上面用參數名稱接收值,只要與請求時的名稱一致就能接收到參數值。如果需要傳遞的參數比較多的時候,就不適合一個一個參數寫在函數里了,那樣很不方便,也容易出錯。可以把這些參數寫到一個對象里接收。如下例子
創建一個package: com.biboheart.demos.model,創建一個類Person
package com.biboheart.demos.model;import lombok.Data;import lombok.ToString;@Data@ToStringpublic class Person { private String name; private Integer age; private Integer sex; private String addres;}用Person對象接收參數
package com.biboheart.demos.api;import com.biboheart.demos.model.Person;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { ... @RequestMapping(value = "/demo/param/model") public String modelParam(Person person) { return "接收到參數:" + person.toString(); }}雖然這樣的方式也能接收get傳參,但是因為需要傳的參數多了,用get顯得不太方便。這里就不測試GET方式請求了。
RequestBody
有的時候,需要接收JSON傳參。比如某些服務的調用需要開發一個回調函數接收對方的回調并獲得參數值為結果,對方回調回來的值是JSON格式的值,這時候就需要接收JSON傳參數了。用RequestBody可以接收到JSON傳值。
package com.biboheart.demos.api;import com.biboheart.demos.model.Person;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { ... @RequestMapping(value = "/demo/param/json") public String jsonParam(@RequestBody Person person) { return "接收到參數:" + person.toString(); }}需要JSON請求才能正確接到值
設置請求頭
總結
以上是生活随笔為你收集整理的delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫动态解析js_Pytho
- 下一篇: 你会接受同门师兄的追求吗?