[スマイルゲートサーバキャンプ]2020,0114 Shortening Urlプロジェクト
2584 ワード
Shortening URL項目
元のURLを与えると、BASE 62アルゴリズムで縮小したSHORT URLのサイトを作成し、実際のウィンドウにSHORT URLを入力すると、元のURLを再び指し、元のサイトに入ります.
アルゴリズム#アルゴリズム#
インプリメンテーション言語
SPRING BOOT, VUE JS
spring boot REST API - CONTROLLER
-createShortUrl:Origin URLをフォームに入力すると、Short URLのAPIが作成されます
-redirect:Short URLを入力すると、直接Origin UrlページのAPIに入ります.
URLの検証
有効性の検証方法
HttpURLLConnectionで実際のページにアクセスする形で検証
public class UrlTypeValidation implements Validation {
@Override
public boolean valid(String url) {
try {
URL connectionUrl = new URL("http://"+url);
HttpURLConnection con = (HttpURLConnection) connectionUrl.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = br.readLine()) != null)
System.out.println(inputLine);
br.close();
} catch (Exception e) {
return false;
}
return true;
}
}
リダイレクト
spring boot + vue.jsでspringbootプロジェクトにフロントエンド画面を追加し、
ModelAndViewを使用してOrigin Urlのviewをフロート形式に変換します.
ModelAndView
コントローラが結果を処理した後、応答ビューとビューに送信する値を格納します.
@GetMapping("/{shortUrl}")
public ModelAndView redirect(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, @PathVariable("shortUrl") String shortUrl) throws IOException {
final String url = urlService.getUrlByShortUrl(shortUrl);
if(url.contains("redirect")){
String redirectUrl = url;
}
return new ModelAndView(url);
}
スクリーンショット
デフォルトの画面
入力したURLフォーマットが無効です.
Reference
この問題について([スマイルゲートサーバキャンプ]2020,0114 Shortening Urlプロジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@meme2367/스마일게이트-서버캠프-Shortening-Url-프로젝트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol