我理解将变量声明为int只会将数字作为一个值,但我想知道是否有任何可能的值会使int变量收集'all'。
例如,我有这个方法/端点收集数据并导出结果
@RequestMapping("/downloadUserAction")
public void downloadUserAction(HttpServletRequest request, HttpServletResponse response,
@RequestParam(DRAW_PARAM) int drawNum,
@RequestParam(value=SEARCH_PARAM) String searchString,
@RequestParam(value=SORT_PARAM) int colNo,
@RequestParam(value=SORT_ORDER) String sortOrder,
Model model) throws JSONException, IOException
{
settingResponseTypeAndHeader(response);
response.addCookie(new Cookie("fileDownload", "true")); //left off at testing how many entries in can handle(4k), neeed to do length=all with pagination (maybe help from Danyi)
String jsonString = adminPageInfo.getAdminInfo(0, 4000, drawNum, searchString, sortOrder, colNo); //json String with these values
JSONArray names = new JSONArray(CSV_COLUMN_NAMES_IN_ORDER);
JSONArray docs = convertToJsonArray(jsonString);
preparingJsonAsPerCSV(docs);
String csv = CDL.toString(names, docs);
StringBuilder builder = new StringBuilder();
builder.append(generateCSVColumnHeader()).append("\n").append(csv);
streamCSVContent(response, builder.toString());
}
我正在执行并在此行传递我的参数
String jsonString = adminPageInfo.getAdminInfo(0, 4000, drawNum, searchString, sortOrder, colNo);
我想要完成的是在第一个参数中传递'0'而不是传递像'all'这样的东西...与第二个带有'4000'值的参数相同,或者是一个范围如'' 1-5' 。无论如何,这可能是不可能的,谢谢
答案 0 :(得分:1)
整数仅用于表示数字。应用程序开发人员决定范围中每个特定数字的含义/解释。你想要的是传递一个变量(如bool),它将获取所有数据并忽略参数上的数字或将参数作为字符串并解析可能的数字。
您还可以实现一种方法来获取您拥有的资源数量,然后通过此大小的GET http限制进行查询。
我建议你阅读有关REST API设计的内容。
一些资源: