鍍金池/ 問(wèn)答/Java  網(wǎng)絡(luò)安全  HTML/ http請(qǐng)求參數(shù)如果沒(méi)有是拼在url里面好, 還是壓根就不傳?我建議后者, 大家

http請(qǐng)求參數(shù)如果沒(méi)有是拼在url里面好, 還是壓根就不傳?我建議后者, 大家什么建議

get方式, 比如:

/biz?id=1&name=&age=

以及

/biz?id=1

post方式, 比如

/biz

id=1
name=
age=

以及

/biz

id=1

尤其是 update 的時(shí)候, 你不知道是要把某字段更新成空, 還是不更新這個(gè)字段, 呵呵, 還有就是 spring 當(dāng)使用 Validation 來(lái)驗(yàn)證 controller 參數(shù)的時(shí)候會(huì)有問(wèn)題, 大家暢所欲言

回答
編輯回答
臭榴蓮

不傳比較嚴(yán)謹(jǐn),這個(gè)JS也容易控制的,

let url = ''
const id_data = `id=${id}`
const name_data = name_data = `name=${name}`;
const age_data = age_data = `age=${age}`;
Boolean(name_data) && Boolean(age_data) && url = `biz?${id_data}?${name_data}?${age_data}`;
Boolean(name_data) && Boolean(!age_data) && url = `biz?${id_data}?${name_data}`;
Boolean(!name_data) && Boolean(age_data) && url = `biz?${id_data}?${age_data}`;

2017年3月31日 03:05
編輯回答
念初

關(guān)鍵是后端只取自己想要的值就好了,然后過(guò)濾空或轉(zhuǎn)譯一波.不管get還是post,你不能保證傳來(lái)的值百分百就是按照你設(shè)定的

2018年1月31日 19:35
編輯回答
清夢(mèng)

正兒八經(jīng)瞎扯一番。
http畢竟是無(wú)狀態(tài)的,get、post、put等都是有語(yǔ)義的,那么當(dāng)我們進(jìn)行傳參時(shí),比如a=&b=&c=1,我們做閱讀時(shí),就應(yīng)該是存在參數(shù)a、b、c的。
如果是不需要的a參數(shù),那么a就不要寫(xiě),因?yàn)橛锌赡軐?shí)際業(yè)務(wù)里b參數(shù)就是需要存空值。
以上~

2017年7月26日 13:54
編輯回答
不討喜

謝邀,但本人不會(huì)Vue。

2017年6月20日 17:52
編輯回答
檸檬藍(lán)

這不能孤立的從前端來(lái)看,后端對(duì)參數(shù)的驗(yàn)證方式也會(huì)從一定程度上決定你的上行,比如后端要求不允許上行為空參數(shù),或者說(shuō)他們要求對(duì)簽名生成機(jī)制里要求空參數(shù)要去掉,那你肯定是要隨著后端的方式來(lái)的。
但如果他們并不存在這種要求,告訴你他們已做好了防御機(jī)制,你們前端隨意,那就是口味問(wèn)題了,如果是我,我傾向于不去掉,這樣可以少寫(xiě)一些if判斷直接取數(shù)據(jù)即可

2018年9月3日 10:45