Java webapi参数设计风格
我尝试使用Spring设计一个简单的web api。只有一个参数是字符串数组,MyAPI可能如下所示Java webapi参数设计风格,java,spring,api,Java,Spring,Api,我尝试使用Spring设计一个简单的web api。只有一个参数是字符串数组,MyAPI可能如下所示 public String test(String[] pars){} 或者还有另一种方法,我只是将一个字符串作为参数,并使用“;”或“:”之类的分隔符进行拆分,我的api是这样的: public String test(String par){ String pars = par.split(":"); } 我只想知道彼此的优缺点,你的第一个
public String test(String[] pars){}
或者还有另一种方法,我只是将一个字符串作为参数,并使用“;”或“:”之类的分隔符进行拆分,我的api是这样的:
public String test(String par){
String pars = par.split(":");
}
我只想知道彼此的优缺点,你的第一个选择是最好的,原因有很多 最重要的一点是,HTML/HTTP为同一参数发送多个值的默认方式是多次发送该参数。这用于HTML表单中的复选框和多选选项列表 另一个很好的原因是Spring WebMvc提供了开箱即用的支持:
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping(method = RequestMethod.GET)
public String test(@RequestParam("pars") String[] pars){}
}
要将数组传递给此,请使用URL
http://yourhost/test?pars=par1&pars=par2&pars=par3
显然,您建议的第二种方法的缺点是,这不是HTML/HTTP传递多值参数的标准方式,SpringWebMVC也不支持这种方式
第二种方法的优点是URL会稍微短一点,这只是执行GET请求时的问题,而不是POST请求时的问题。但是,如果您保持参数名称简短,这不是一个主要问题