포트폴리오 API + GitHub 페이지

포트폴리오 API + GitHub 페이지 = 🔥



그래서 우연히 GitHub 페이지 사이트에 액세스할 때 표준 HTML 대신 JSON 응답을 반환할 수 있다는 것을 알아냈습니다.

저는 명함 컨셉이 정말 마음에 들었습니다.




그래서 사용자 카드를 만드는 대신 개발 재미 😉를 만들고 나에 대한 REST API를 만드는 것이 어떨까 생각했습니다.

예를 들어

curl bhupeshv.me/api/


터미널에서 다음 결과를 제공합니다.

{
    "Name 😎":"Bhupesh Varshney",
    "Bio 🤗":"OpenSource Lover, Blogger & CodePervert",
    "Website 🖱":"https://bhupeshv.me/",
    "Github 💻":"https://github.com/Bhupesh-V",
    "DEV 🦄":"https://dev.to/bhupesh",
    "Twitter 🐦":"https://twitter.com/codepervert",
    "LinkedIn 📎":"https://www.linkedin.com/in/bhupesh-v/",
    "blogs":{
        "blog8":{
            "name":"Making a Simple REST API Using Django REST Framework",
            "link":"https://bhupeshv.me/simple-api-using-drf/"
        },
        "blog7":{
            "name":"Internet for Developers",
            "link":"https://bhupeshv.me/internet-for-devs/"
        },
        "blog6":{
            "name":"Portfolio API + GitHub Pages",
            "link":"https://bhupeshv.me/Portfolio-API+GitHub-Pages/"
        },
        "blog5":{
            "name":"30 Seconds of C++",
            "link":"https://bhupeshv.me/30-Seconds-of-C++/"
        },
        "blog4":{
            "name":"A Simple Scheduler in Python",
            "link":"https://bhupeshv.me/A-Simple-Scheduler-in-Python/"
        },
        "blog3":{
            "name":"Exceptions in C++",
            "link":"https://bhupeshv.me/Exceptions-in-C++/"
        },
        "blog2":{
            "name":"pipreqs - Automatically generate python dependencies",
            "link":"https://bhupeshv.me/pipreqs/"
        },
        "blog1":{
            "name":"My dev life has just started 😎👩‍💻",
            "link":"https://bhupeshv.me/My-dev-life-has-just-started/"
        }
    }
}


또한 apitester에서 테스트하고 일반 REST API처럼 작동하는 JSON 응답을 실제로 반환하는지 확인할 수 있습니다.
다음은 HTTPie 을 사용하는 또 다른 데모입니다.
하다

http GET bhupeshv.me/api/



HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 0
Cache-Control: max-age=600
Connection: keep-alive
Content-Length: 1267
Content-Type: application/json; charset=utf-8
Date: Tue, 21 May 2019 06:37:05 GMT
ETag: "5ce3999b-4f3"
Expires: Tue, 21 May 2019 06:35:10 GMT
Last-Modified: Tue, 21 May 2019 06:24:27 GMT
Server: GitHub.com
Vary: Accept-Encoding
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-Fastly-Request-ID: e19833ea471f930d8ef9cfb2574ab539530b7df7
X-GitHub-Request-Id: C806:4F97:95A48F:C36F69:5CE399C6
X-Served-By: cache-bom18223-BOM
X-Timer: S1558420625.037150,VS0,VE256

{
    "Bio 🤗": "OpenSource Lover, Blogger & CodePervert",
    "DEV 🦄": "https://dev.to/bhupesh",
    "Github 💻": "https://github.com/Bhupesh-V",
    "LinkedIn 📎": "https://www.linkedin.com/in/bhupesh-v/",
    "Name 😎": "Bhupesh Varshney",
    "Twitter 🐦": "https://twitter.com/codepervert",
    "Website 🖱": "https://bhupeshv.me/",
    "blogs": {
        "blog1": {
            "link": "https://bhupeshv.me/My-dev-life-has-just-started/",
            "name": "My dev life has just started 😎👩‍💻"
        },
        "blog2": {
            "link": "https://bhupeshv.me/pipreqs/",
            "name": "pipreqs - Automatically generate python dependencies"
        },
        "blog3": {
            "link": "https://bhupeshv.me/Exceptions-in-C++/",
            "name": "Exceptions in C++"
        },
        "blog4": {
            "link": "https://bhupeshv.me/A-Simple-Scheduler-in-Python/",
            "name": "A Simple Scheduler in Python"
        },
        "blog5": {
            "link": "https://bhupeshv.me/30-Seconds-of-C++/",
            "name": "30 Seconds of C++"
        },
        "blog6":{
            "name":"Portfolio API + GitHub Pages",
            "link":"https://bhupeshv.me/Portfolio-API+GitHub-Pages/"
        },
        "blog7":{
            "name":"Internet for Developers",
            "link":"https://bhupeshv.me/internet-for-devs/"
        },
        "blog8":{
            "name":"Making a Simple REST API Using Django REST Framework",
            "link":"https://bhupeshv.me/simple-api-using-drf/"
        },
    }
}


어떻게하는지 알려줘 ?





다음은 GitHub 페이지에서 포트폴리오를 위한 재미있는 정적 API를 만드는 방법입니다.
  • 사용자가 GET 요청을 보내도록 하려는 경로를 선택합니다. 예를 들어 https://yourdomain.com/about/를 선택할 수 있습니다.
    또는 귀하의 선택에 따라 다른 경로.
  • https.username.github.io에 요청을 보내는 것은 약간 🤷🏾‍♂️처럼 들리므로 GitHub 페이지에 사용자 지정 도메인을 추가해야 합니다.
  • 이제 이동하여 about 같은 이름의 디렉토리를 만들고 그 안에 index.json라는 이름의 새 파일을 만듭니다.


  • JSON 파일에 다음 콘텐츠를 추가합니다.

  • {
      "Name 😎": " ",
      "Bio 🤗": " ",
      "Website 🖱": " ",
      "GitHub 💻": " ",
      "DEV 🦄": " ",
      "Twitter 🐦": " ",
      "LinkedIn 📎": " "
    }
    


  • 필요에 따라 세부 정보를 입력하거나 새 필드를 만듭니다.
  • 변경 사항을 푸시하고 테스트하십시오.
  • 만세!! 첫 번째 정적 API가 준비되었습니다.
    이제 가서 개발자 친구에게 컬을 해달라고 부탁하세요 😁

  • 참고: index.json 파일이 있는 디렉토리와 동일한 디렉토리에 다른 파일을 두지 마십시오.
    예를 들어 README.md 또는 index.html를 배치하면 JSON 파일 대신 제공됩니다.

    단점


  • URL을 통해 매개변수에 액세스할 수 없습니다?blogs=blog1.
  • GET 방법만 작동합니다.
  • 데이터가 정적입니다.

  • 직접 만든 후 공유하세요 😋 또는 아래 게시물이 마음에 드셨는지 말씀해주세요 :)

    좋은 웹페이지 즐겨찾기