javascript
delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)
spring boot 傳參
spring boot 中的Controller或者RestController接收參數(shù)的方法是一樣的。這章目標(biāo)是對(duì)幾種常用的傳參都寫個(gè)例子。
創(chuàng)建package: com.biboheart.demos.api,這個(gè)包里放置API接口的RestController
在com.biboheart.demos.api包中創(chuàng)建一個(gè)class: ParamController。這章的示例都在這個(gè)類中進(jìn)行。
PathVariable
路徑中包含參數(shù),這種情況適合與傳遞一個(gè)不能為空值的參數(shù)。比如有些應(yīng)用中,查詢某個(gè)企業(yè)的數(shù)據(jù),必須包含企業(yè)的編號(hào),就可以在地址里接收這個(gè)編號(hào)。
在ParamController中增加一個(gè)函數(shù)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 "接收到參數(shù):" + sn; }}路徑中的參數(shù)通過{sn}接收值。
使用名稱接收參數(shù)
使用名稱接收參數(shù)比較直觀,我用得比較多。不用注解。跟客戶端傳的參數(shù)同名就可以接收到。如下例子中的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 "接收到參數(shù){name:" + name + ";age:" + age + "}"; }}也可以用get傳參
使用對(duì)象接收參數(shù)
上面用參數(shù)名稱接收值,只要與請(qǐng)求時(shí)的名稱一致就能接收到參數(shù)值。如果需要傳遞的參數(shù)比較多的時(shí)候,就不適合一個(gè)一個(gè)參數(shù)寫在函數(shù)里了,那樣很不方便,也容易出錯(cuò)。可以把這些參數(shù)寫到一個(gè)對(duì)象里接收。如下例子
創(chuàng)建一個(gè)package: com.biboheart.demos.model,創(chuàng)建一個(gè)類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對(duì)象接收參數(shù)
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 "接收到參數(shù):" + person.toString(); }}雖然這樣的方式也能接收get傳參,但是因?yàn)樾枰獋鞯膮?shù)多了,用get顯得不太方便。這里就不測試GET方式請(qǐng)求了。
RequestBody
有的時(shí)候,需要接收J(rèn)SON傳參。比如某些服務(wù)的調(diào)用需要開發(fā)一個(gè)回調(diào)函數(shù)接收對(duì)方的回調(diào)并獲得參數(shù)值為結(jié)果,對(duì)方回調(diào)回來的值是JSON格式的值,這時(shí)候就需要接收J(rèn)SON傳參數(shù)了。用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 "接收到參數(shù):" + person.toString(); }}需要JSON請(qǐng)求才能正確接到值
設(shè)置請(qǐng)求頭
總結(jié)
以上是生活随笔為你收集整理的delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫动态解析js_Pytho
- 下一篇: json string 格式_GO小知识