我需要从json服务器请求分页数据。我想检索一个用户页面,其中每个页面包含10个结果。为此,我向GET
发出了/posts/page/1
请求,但是我知道我需要像/posts?_start=0&_end=9
那样请求它,因为这是json服务器的工作方式。
问题是我的真实后端是这样工作的,并且无论我使用的是真正的后端服务器还是测试json-server,这两个请求都应以相同的方式从前端进行。
我尝试使用routes.json
,但是我看不到添加逻辑来将页码转换为_start
上的_end
和routes.json
参数的方法,因为它是json文件。
每当我请求/posts?_start=0&_end=9
时,我只需要json-server返回来自/trips/page/1
的响应,并且具有将页码转换为_start
和_end
参数的逻辑
我该怎么做?
答案 0 :(得分:0)
将_page
与Option Explicit
Sub test()
Dim sheetvar As Variant
Dim mainsheet As String
Dim subsheets As String
Dim sheetdict As Object
Dim currentbook As Workbook
Set sheetdict = CreateObject("Scripting.Dictionary")
Set currentbook = ActiveWorkbook
For Each sheetvar In currentbook.Sheets
If InStr(1, sheetvar.Name, "(") Then
mainsheet = trim(Split(sheetvar.Name, "(")(0))
Else
mainsheet = sheetvar.Name 'Get Name
End If
If Not sheetdict.exists(mainsheet) Then 'Make Dictionary Key
subsheets = sheetvar.Name
sheetdict.Add mainsheet, subsheets
Else
subsheets = sheetdict(mainsheet) & "|" & sheetvar.Name
sheetdict(mainsheet) = subsheets
End If
Next sheetvar
Dim key As Variant
Dim isheet As Variant
Dim newbook As Workbook
Application.DisplayAlerts = False 'Might not want this if you want to see whats going on
For Each key In sheetdict
Set newbook = Workbooks.Add
newbook.SaveAs key & ".xlsx"
For Each isheet In Split(sheetdict(key), "|")
If Not isheet Like "" Then
currentbook.Sheets(isheet).Copy before:=newbook.Sheets("Sheet1")
End If
Next isheet
If newbook.Sheets.Count > 1 Then 'Dodge error if there is only 1 sheet
newbook.Sheets("Sheet1").Delete
End If
newbook.save
newbook.close
Next key
Application.DisplayAlerts = True
End Sub
一起使用,而不是_limit
/ _start
。
然后将其添加到routes.json中,
_end
应该处理{
"/:type/page/:page": "/:type?_page=:page&_limit=10"
}
或/posts/page/1
。