[FromBody]List<string> 用PostMan如何请求

本文详细介绍了在MVC项目中编写API方法,并通过PostMan进行调用的步骤与技巧。重点突出如何在PostMan中实现对API方法的测试与验证,确保API功能的正确实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

在MVC项目,写了一个API方法,如下:

/// <summary>
/// 测试
/// </summary>
/// <param name="idList"></param>
/// <returns></returns>
public string Test([FromBody]List<string> idList)
{
return "测试成功:进入API";
}

 

 

但在PostMan中如何调用呢:如下图

 

 

转载于:https://www.cnblogs.com/sandyliu1999/p/4802706.html

package com.hnkj.webdemo.controller; public class AuthController { } package com.hnkj.webdemo.entity; public class User { } package com.hnkj.webdemo.repository; public class UserRepository { } package com.hnkj.webdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class WebdemoApplication { public static void main(String[] args) { SpringApplication.run(WebdemoApplication.class, args); } } spring.application.name=webdemo spring.datasource.url=jdbc:mysql://localhost:3306/sale_manager_system?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver package com.hnkj.webdemo; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class WebdemoApplicationTests { @Test void contextLoads() { } } <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.18</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.hnkj</groupId> <artifactId>webdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>webdemo</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>管理员登录界面</title> <!-- 外链式引入css样式 --> <link rel="stylesheet" href="css/login.css" /> </head> <body> <div id="login"> <h2 class="login-title">用户登录</h2> <form id="loginform" name="loginform"> <div class="loginFunc"> <span class="loginFuncApp">二维码登录</span> <span class="loginFuncNormal">账号登录</span> </div> <input type="text" placeholder="账号" class="userName" name="userName" /> <input type="password" placeholder="密码" class="password" name="password" /> <p class="info"> <input type="radio" value="1" name="role" checked /> <span>管理员</span> <input type="radio" value="2" name="role" /> <span>用户</span> <span class="help"><a href="#">忘记密码?</a></span> </p> <input type="submit" value="登 录" class="submit" /> <input type="button" value="注 册" class="button" onclick="register()" /> </form> <div id="loginError" style="color: red; margin-bottom: 10px; text-align: center;"></div> </div> <!-- 确保 DOM 加载完成后再绑定事件监听器 --> <script> document.getElementById('loginform').addEventListener('submit', function (e) { e.preventDefault(); // 阻止表单默认提交行为 // 获取输入的账号和密码 const userName = document.querySelector('.userName').value; const password = document.querySelector('.password').value; const loginError = document.getElementById('loginError'); // 清除之前的错误信息 loginError.textContent = ''; // 进行登录校验 if (userName.trim() === '') { loginError.textContent = '账号不能为空'; return; } if (password.trim() === '') { loginError.textContent = '密码不能为空'; return; } // 如果需要更复杂的校验,可以添加更多规则,例如密码长度等 if (password.length < 6) { loginError.textContent = '密码长度不能少于6位'; return; } // 获取表单数据 const formData = new FormData(this); const data = Object.fromEntries(formData.entries()); console.log('登录数据:', data); // 发送AJAX请求 fetch('http://localhost:8080/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams(data) }) .then(response => { console.log('登录响应:', response); return response.json(); }) .then(result => { console.log('登录成功:', result); if (result.success) { // 根据表单选择的角色跳转 const role = data.role; // 获取表单中的角色值 const redirectPath = role === '1' ? 'AdminSystem/adminHome.html' : 'UserSystem/userHome.html'; window.location.href = redirectPath; } else { // 登录失败,显示错误信息 alert(result.message); } }) .catch(error => { console.error('登录请求出错:', error); alert('登录请求失败,请重试'); }); }); function register() { window.location.href = "register.html"; } </script> </body> </html> 通过这几段代码能否找到问题所在
06-05
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>订单管理</title> <link rel="stylesheet" href="fonts/iconfont.css"> <link rel="stylesheet" href="css/common.css"> <link rel="stylesheet" href="orderList.css"> </head> <body> <div class="flex web-page"> <iframe class="menu-frame" id="menuFrame" src="menu.html"></iframe> <div id="vue_det" class="main"> <div class="main-tools flex"> <div><script type="text/javascript">document.write(document.title)</script></div> </div> <div class="main-body" :class="{full:fullList}"> <!-- 查询 --> <div class="flex page-header-container"> <div> <input placeholder="查询订单名" v-model.trim="pageInfo.keyword" @keydown="doSearch1($event)"> <button class="bt bt-highlight" @click="doSearch()"><i class="iconfont icon-sousuo" style="font-size: 12px;"></i>  查询</button> <span @click="fullList = !fullList;" class="pointer hover">  <i v-if="!fullList" class="iconfont icon-yincang"></i> <i v-else class="iconfont icon-xianshi"></i></span> </div> <div @click="showUser()"> <button class="bt bt-highlight"><i class="iconfont icon-icon-test" style="font-size: 12px;"></i>添加订单</button> </div> </div> <!-- 列表内容 --> <div class="table-container"> <table> <tr class="title"> <td class="width35">序号</td> <td class="width50p"> <span>订单号</span> </td> <td class="">名称</td> <td class="">类型</td> <td class="">价格</td> <td class=""> <span>创建时间</span> <i @click="setOrderByStr('buildtime')" class="iconfont icon-left-copy pointer" :class="{'icon-left':pageInfo.desc=='desc'}"></i> </td> <td class="width80">操作</td> </tr> <tr @click.stop="showUser(item)" :class="{choose:showAddPage && item.id == user.id}" class="content" v-for="(item,index) in order"> <td>{{ (++index)+ ((pageInfo.currentPage - 1) * pageInfo.perPage) }}</td> <td v-html="item.orderNum"></td> <td v-html="item.orderName"></td> <td v-html="item.orderType"></td> <td v-html="item.orderPrice"></td> <td>{{item.buildtime}}</td> <td class="tools"> <button class="bt bt-red" @click.stop="deleteUser(item)">删除</button> <button class="bt bt-highlight" @click.stop="showUser(item)">详情</button> </td> </tr> </table> </div> <!-- 分页 --> <div class="flex page-container"> <div class="left"> 当前页:<span class="bold">{{pageInfo.currentPage}} </span> <span class="split-line"></span> 每页显示条数:<span class="bold"> <select v-model="pageInfo.perPage" @change="changePerPage()"> <option v-for="(pageNum) in perPages" :value="pageNum">{{pageNum}}</option> </select> </span> <span class="split-line"></span> 总条数条数:<span class="bold">{{pageInfo.totalCount}} </span> <span class="split-line"></span> 总页数:<span class="bold">{{pageInfo.pageCount}} </span> <span class="split-line"></span> <span>跳转到<input @click="jumpToPage()" class="jump-page-num" v-model="pageInfo.currentPage" readonly="readonly">页 </span> </div> <div class="right flex"> <button class="bt bt-highlight" :class="{disabled:pageInfo.currentPage<=1}" :disabled="pageInfo.currentPage<=1" @click="nextPage(-1)"><i class="iconfont icon-left" style="font-size: 12px;"></i>上一页</button> <button class="bt bt-highlight left5" :class="{disabled:pageInfo.currentPage>=pageInfo.pageCount}" :disabled="pageInfo.currentPage>=pageInfo.pageCount" @click="nextPage(1)">下一页<i class="iconfont icon-left-copy" style="font-size: 12px;"></i></button> </div> </div> </div> <!-- 添加 和 编辑 --> <div class="open-page flex" v-if="showAddPage"> <div class="container flex" :class="{row:direction_row}"> <div class="header flex"> <span> <i class="iconfont icon-bianji1"></i>  {{user.id?'修改':'新增'}}订单 </span> <span> <span class="pointer hover" @click="direction_row = !direction_row;"><i class="iconfont icon-more"></i></span> <span class="pointer hover" @click="showAddPage = false;"><i class="iconfont icon-guanbi" style="font-size: 12px;"></i></span> </span> </div> <div class="midlle flex"> <div class="content"> <div class="item"> <label>订单号:</label> <input placeholder="输入订单号" maxlength="20" v-model.trim="user.orderNum"> </div> <div class="item"> <label>名称:</label> <input placeholder="输入名称" maxlength="200" v-model.trim="user.orderName"> </div> <div class="item"> <label>类型:</label> <input placeholder="输入类型" maxlength="200" v-model.trim="user.orderType"> </div> <div class="item"> <label>价格:</label> <input placeholder="输入价格" maxlength="200" v-model.trim="user.orderPrice"> </div> <div class="item" v-if="user.buildtime"> <label>创建时间:</label>{{user.buildtime}} </div> </div> </div> <div class="footer flex "> <div class="bt-list"> <button class="bt bt-highlight" @click="save()">保存</button> <button class="bt bt-red left5" @click="showAddPage = false;">取消</button> </div> </div> </div> </div> </div> </div> </body> <script type="text/javascript" src="js/vue.min.js"></script> <script type="text/javascript" src="js/common.js"></script> <script type="text/javascript" src="orderList.js"></script> </html> 这段代码有什么问题?为什么导致我创建订单保存不了显示错误500
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值