webapi建立和使用 以及填坑(二)
上篇文章由於時間問題沒能講到post提交,今天做乙個補充
post:
當我們直接通過post傳送方式傳送會發現錯誤資訊
後面通過修改路由嘗試解決
此時再通過控制器到動作進行訪問
文章中說沒有重新生成也會出現這樣的錯誤,生成之後依然出錯(ctrl+shift+b)
事實上.net web api能夠正確的識別我們的控制器處理api/webtest,但不能找到乙個可以接受的方式處理請求。換句話說能找到控制器,找不到動作。
文章作者最後通過在msdn上web api官方說明找到解決方法
一、傳遞乙個引數
這個意思應該是在方法引數中需要使用[frombody]屬性強制請求內容,webapi會使用media-type格式化程式請求正文讀取name引數的值。
最後通過post傳送得到結果
當時我也好奇為什麼沒有值,後面通過除錯發現name值並沒有傳送過來
參考作者的說法web api要求請求傳遞的[frombody]引數是乙個特定的格式,這種格式也並不是key=value的鍵值形式。web api 的模型繫結器希望找到 [frombody] 裡沒有鍵名的值,也就是說, 不是 key=value ,而是=value 。
果然後台接收到了請求的值
既然已經得到了引數,那麼我現在要傳入兩個引數是不是應該這樣寫呢?(我當時也是這樣想的)
結果很遺憾
二、傳遞多個引數
後面又通過msdn查詢到資料
當時我的心情就是這樣:不起作用你特麼還寫。。。
於是我又犯傻的這樣嘗試了
得到的結果卻是
(腦闊痛)
於是看了下文章的講解,他解釋到[frombody]修飾的引數只能有乙個,如果需要多個引數,必須將引數封裝起來,而這個封裝是後台進行封裝(或者前台直接傳送json串)
a.前台傳送json串:
結果和我想的差不多直接將字串傳送過去,後台再進行解析
封裝了乙個user類
準備反序列化,結果
難受至極,找了很久的問題,才發現,我穿的json有問題,我只是單個的物件,結果我穿過去的是個陣列。
修改了json字串接著解析
mdf果然是json寫錯了,同志們需要細心啊
回歸主題:webapi使用post傳送json串後台進行解析到這裡就結束了
b.前台傳送key=value後台通過物件對映獲取
首先修改引數型別為user**如下
post通過傳送key=value傳送引數
在這裡webapi使用post傳送多引數使用key=value方式也就結束了。
DLL的建立使用以及注入
dll的入口函式 bool winapi dllmain hinstance hinstance,dword reason,lpvoid lpvreserved hinstance 該引數是當前dll模組的控制代碼,即本動態連線庫模組的例項控制代碼。reason 該引數表示dllmain 函式被呼叫...
git的使用以及遇到的小坑
git remote add url ssh t git git.coding.net這樣就可以本地訪問該遠端倉庫中的所有分支 git fetch remote name git remote rename git remote rm name git branch set upstream mas...
MAC下brew安裝 換源 使用以及坑
安裝 官網上就是讓你複製下面這段內容到終端執行 usr bin ruby e curl fssl 坑點一 有時候安裝會告訴你該使用者無法執行,這時候你需要切換到擁有管理員許可權的使用者,這時候你需要 sudo su 擁有管理員許可權的使用者 注意!不是root使用者而是擁有管理員許可權的使用者!坑點...