我正在构建一个 URL 缩短器并正在研究"跟随方法" - 例如 short.li/?stub=dishpods 应该重定向到 https://www.amazon.com/gp/product/B07CTQ8THP/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
如何在控制器中设置此自动重定向?我能弄清楚的最好的方法是打印到控制台,但我希望它自动跟随。
@GetMapping("/")
void follow(@RequestParam String stub) throws IOException, InterruptedException {
ShortUrl longUrl = repository.findByShortUrl(stub);
String longUrlString;
if (longUrl != null) {
longUrlString = longUrl.getShortUrl();
} else {
longUrlString = "https://google.com";
}
try {
URL myurl = new URL(longUrlString);
con = (HttpURLConnection) myurl.openConnection();
con.setRequestMethod("GET");
StringBuilder content;
try (BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()))) {
String line;
content = new StringBuilder();
while ((line = in.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
} finally {
con.disconnect();
}
}
您可以使用 springs 重定向视图:
@GetMapping("/")
public RedirectView follow() {
return new RedirectView("www.foo.baa");
}