Day04,弄几只API

正文

弄完资料库後,花了一点时间的写了这几只API。

主要的routing分成

  • API/[Controller]/[Action]
    • GetList 回传贴文清单
    • GetDetail 回传单比贴文含详细内容
  • Internal/[Controller]/[Action]
    • AddUser 新增作者
    • GetUser 给我查作者用的(UserID)
    • AddPost 新增贴文

前者预计给之後的页面使用,後者是我自己在家呼叫用的。

程序码大致上长这样

Swagger的画面(OAS3)

再来先把这个API Containerize,dockerfile 如下:

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /source
COPY . .
RUN dotnet publish -c release -o /app 

FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
COPY --from=build /app ./
USER 1001
ENV TZ=Asia/Taipei
ENV ASPNETCORE_URLS=http://+:7777
ENTRYPOINT ["dotnet", "homelabAPI.dll"]

这边也是走rootless的方式,并且修改bind的port为7777(预设会是80),以前有遇过unix system要bind 0-1024 的 port需要root的身份的问题,所以这边刻意修改port。
然後原本想说要bind 6666 port,试了一下怪怪的Curl能通,Chrome却不通,於是乎又google了一下才知道Chrome竟然有限制这些port,又学了一课~

docker build -t homelab:dev .
docker save homelab:dev > homelab.tar

## nas上,之後会弄成Auto Build这边先让我手动搬过去执行~
docker load < homlab.tar
docker run -itd --env ASPNETCORE_ENVIRONMENT=Development -p 7777:7777 homelab:dev

就先这样把我这个API布署在我的小NAS上面。

闲聊

先说明一下,这边纯粹是个人兴趣乱开发。如果各位真的有Blog/笔记需求的话,不妨去用像hackmd、ithome、点部落或Medium之类的线上平台,如果真的想要试试自己hosting与maintain的话,也可以使用像是hexohugo这类的工具很简单的就可以帮助你布署在github page上,相关的教学可以在网路上google一下应该不难查到。不要像我一样虾逼逼在这边乱搞XD


<<:  [Day-4] R语言 - 分群重点演算法 ( Clustering Algorithm )

>>:  [Day04] 安装 IDE 与 .NET SDK

Watch

今天要介绍的是watch属性 Watch他跟computed最大的不同是他没有cache的机制,那w...

今天来瞄一眼龙与雀的科技:知觉共享技术 Body-sharing

嘿 前天去看了龙与雀斑公主,音乐真的很好听,剧情烘托的还不错。但每当遇到这种网路分身的题材时,我总是...

Day 8:IAM role、Policy建立

上篇我们学习到了如何再AWS Console建立user跟Group,今天我们来继续看如何建立rol...

认识CSS(九):CSS滤镜特效

滤镜特效 在影像处理软件中,我们常会用滤镜(filter)为影像加上各种不同的效果。CSS filt...

数值系统与补数

本文目标 了解计算机如何储存资料 了解计算机如何处理负数以及减法 练习进制间的转换 进制系统 进位制...