試煉23 - dynamic技巧1 通靈之術

2022 鐵人賽文 搬回點部落

開始試煉

這是改編真實故事
某月某日 老闆又召喚一顆隕石說
先幫我接 新功能吧對方可以丟資料過來了
於是兩方工程師開始討論起來
對方會用post打API 資料放在body用json格式
這沒問題 然後我要開始要json格式時 得到
還沒決定耶還在討論修改中
然後我就沉默了 心中默默說出
本來不想使用這招的
於是開始用 dynamic通靈

於是我先把測試用API給他們 跟對方說
我API先給你們 你們決定json好就可以打了

如何接還不知道的modal

其實很簡單 就是用dynamic當型別
然後把接到的物件轉json log下來

這是json格式

{
  "id": "M123",
  "status": "OK",
  "type": "Order"
}
[HttpPost]
[Route("Test")]
public IHttpActionResult Post(dynamic request)
{
    _logger.Info("request raw data : \n{@request}", request);
    return Ok(String.Empty);
}

_logger 是Nlog然後 {@request} 是nlog的特殊寫法 會直接物件轉json
Log內容會是
request raw data :
{"id":"M123", "status":"OK", "type":"Order"}

這樣就可以他們一邊測試 我一邊開始偷跑
這樣我又在成功在隕石攻擊下 存活下來

結束試煉

這個技巧送給將離開新手村的讀者,希望你們永遠不會有在心中說出
本來不想使用這招的那一天

如果內容有誤請多鞭策謝謝