Проблема RequestMapping с несколькими клиентами Angular в Spring Boot Application

Для этого вы можете использовать deque .

Учитывая:

$ cat /tmp/file.csv
firstName,lastName,email,phoneNumber
John,Doe,john@doe.com,0123456789
Jane,Doe,jane@doe.com,9876543210
James,Bond,james.bond@mi6.co.uk,0612345678

Предположим, что вы хотите, чтобы линия с Jane и строка перед и после.

Попробуйте:

import csv 
from collections import deque 

dq=deque([[None] for _ in range(3)],maxlen=3)
with open(fn,'r') as f:
    for row in csv.reader(f):
        dq.append(row)
        if dq[-2][0]=='Jane': break # here you can use your custom function 

Затем:

 >>> dq
 deque([['John', 'Doe', 'john@doe.com', '0123456789'], ['Jane', 'Doe', 'jane@doe.com', '9876543210'], ['James', 'Bond', 'james.bond@mi6.co.uk', '0612345678']], maxlen=3)

0
задан displayname 19 January 2019 в 13:43
поделиться

2 ответа

Вот что я в итоге сделал:

Я переместил обоих клиентов в подкаталог a/:

static/a/web
static/a/admin

Далее, я реализовал ForwardController так: [116 ]

@Controller
public class ForwardController {

    @RequestMapping(value = "/*", method = RequestMethod.GET)
    public String redirectRoot(HttpServletRequest request) {
        return "forward:/a/web/index.html";
    }

    @RequestMapping(value = "/a/**/{path:[^.]*}", method = RequestMethod.GET)
    public String redirectClients(HttpServletRequest request) {

        String requestURI = request.getRequestURI();

        if (requestURI.startsWith("/a/admin/")) {
            return "forward:/a/admin/index.html";
        }

        return "forward:/a/web/index.html";
    }

}
0
ответ дан displayname 19 January 2019 в 13:43
поделиться

Дочерние маршруты не будут работать, потому что главный индекс должен быть загружен раньше, чтобы получить все маршруты. Обходной путь - перенаправлять на основной индекс каждый раз, когда серверная часть не находит путь:

@Controller
@RequestMapping("/error")
public class ErrorHandlerController extends AbstractErrorController {

private static final String ROOT_PATH = "/";

public ErrorHandlerController(ErrorAttributes errorAttributes) {
    super(errorAttributes);
}

@RequestMapping
public void errorHtml(HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    if(HttpStatus.NOT_FOUND.equals(getStatus(request))) {
        response.sendRedirect(ROOT_PATH);
    }
}

@Override
public String getErrorPath() {
    return "error";
}

}
0
ответ дан Raphael Alves 19 January 2019 в 13:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: