本文讨论了前后端开发中关于POST请求参数处理的常见问题,前端使用`POST`和`JSON`时,后端希望使用`@RequestParam`而非对象接收,导致争议。解决方法是前端将`Content-Type`改为`multipart/form-data`以表单形式提交。后端则针对`x-www-form-urlencoded`格式数据进行处理。
摘要由CSDN通过智能技术生成
-
在前后端对接中,很多前端的规范是POST,参数放body里面,媒体类型是json,后端就需要用@RequestBody去接收,但是后端只用接收两个参数,这时候后端不想创建对象,使用@RequestParm,前端写好了请求,发现接口调不通,这时候往往两边都会有争议,这时候该怎么办呢。
-
@RequestParm 只能接收form表单或者url里面的内容
-
让前端使用 Content-Type:multipart/form-data 使用表单的方式提交post请求即可
关于接收x-www-form-urlencoded格式数据的后端
HTTP大家都不陌生,但是HTTP的许多细节就并不是很多人都知道了,本文将讨论一些容易被忽略但又比较重要的点。首先,怎么用原生JS写一个GET
请求
呢?如下代码,只需3行:let xhr = new XMLHttpRequest();
xhr.open("GET", "/list");
xhr.send();
xhr.open第一个
参数
是
请求
方法,第二个
参数
是
请求
url,然后把它send出去就行了。...
type: "get",
url: "http://localhost:27221/api/Charging/GetByModel",
contentType: "application/json",
data: { ID: "1", NAME: "Jim", CREATETIME: "1988-09.
使用
postman
发送 http 协议
post
请求
,两种
请求
参数
类型application/json 和 application/x-www-from-urlencoded。
application/json
请求
参数
是json格式,这种是最常见的,以登录接口为例
接口名称:用户账户登录
接口地址: /api/v1/login
请求
方式:
POST
请求
参数
:
请求
示例
# 作者-上海悠悠 QQ交流群:717225969
POST
http://localhost:8201/api/v1/
var url2 = "<e:url value='sendCode.e' />"
$.
post
(url2, {id:findPwdNumber,validNum:validNum},function (data) {
var message_code ...
定义和用法
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
enctype属性值
application/x-www-form-ur...
在JavaScript
中
,如果你想要以URL
参数
的形式发送
POST
请求
而不是以JSON对象形式,可以使用`fetch`、`XMLHttpRequest`或者第三方库如`axios`。这里以`fetch`为例,假设你想
传
递名为`param1`和`param2`的
两个
参数
:
```javascript
async function sendData() {
let url = "https://your-api-endpoint.com/endpoint";
let params = { param1: 'value1', param2: 'value2' }; // 以键值对形式
try {
const response = await fetch(url, {
method: '
POST
',
headers: {
'Content-Type': 'application/x-www-form-urlencoded' // 设置正确的 Content-Type
body: new URLSearchParams(params) // 使用URLSearchParams转换成查询字符串
if (response.ok) {
const data = await response.text();
console.log(data);
} else {
throw new Error(`Request failed with status ${response.status}`);
} catch (error) {
console.error('Error sending data:', error);
sendData();
这里的`body`部分就是以查询字符串的形式`param1=value1¶m2=value2`附在
POST
请求
的URL后面。
关于Correct the classpath of your application so that it contains a single, compatible versi
28468