Springboot+Mybatis接收react前端POST请求查询不到结果

后台可以收到请求的json数据,用相同的数据单独测试后台也可以搜到结果。但是直接从react前端发送请求,搜索结果就为空。
单独测试后台StaffManagementController,main方法中创建staffAO对象department=chemistry, 可以搜索到staffVOList.size=6个结果。从react前端表单department输入chemistry,发送POST请求,搜索到结果却是staffVOList.size=0个结果. esclipse后台console也显示staffAO.department=chemistry,说明前端请求可以正确接收。但是不知道为什么搜索不到结果。问题应该出在后台,但是完全想不出还哪里能出问题。。
下面是controller,function,mapper代码。希望有高手指教,非常感谢!

 @RestController
@RequestMapping("/api")
public class StaffManagementController {
    private StaffManagementFunction function;

    @PostMapping("staffs/find")
    List<StaffManagementViewObject> getStaffByKeys(@Valid @RequestBody StaffManagementArgumentObject staffAO) throws Exception {
        log.info("Request to search for staff: {}", staffAO);
        List<StaffManagementViewObject> staffs = function.findStaffByKeys(staffAO);
        if (staffs == null) {
            new ResponseEntity<>(HttpStatus.NOT_FOUND);
            }
        return staffs;
 @Service
public class StaffManagementFunctionImpl implements StaffManagementFunction{
 @Override
    public  List<StaffManagementViewObject> findStaffByKeys(StaffManagementArgumentObject staffManagementArgumentObject) throws Exception {
        SqlSession session = MyBatisUtil.getSession();
        StaffManagementMapper smMapper = session.getMapper(StaffManagementMapper.class);

        if(staffManagementArgumentObject==null){
            throw new IllegalArgumentException("argumentObject cannot be blank");
        }
        String genderInput = staffManagementArgumentObject.getGender();
        String gender= (genderInput==null)?null:(genderInput=="male")?"true":"false";

        staffManagementArgumentObject.setGender(gender);

        List<StaffManagement> staffList = smMapper.selectKeysLike(staffManagementArgumentObject);
        MyBatisUtil.closeSession();

        List<StaffManagementViewObject> staffVOList = new ArrayList<StaffManagementViewObject> ();
        for(int i = 0 ; i < staffList.size() ; i++)  {
            StaffManagement staff = staffList.get(i);
            String genderVO = AssertThrowUtil.parseGenderToString(staff.getGender());
            String yearOfGraduationVO = AssertThrowUtil.parseYearToString(staff.getYear

            StaffManagementViewObject staffVO = new StaffManagementViewObject();
            staffVO.setId(staff.getId());
            staffVO.setName(staff.getName());
            staffVO.setGender(genderVO);
            staffVO.setDepartment(staff.getDepartment());
            staffVO.setYearOfGraduation(yearOfGraduation);
            staffVOList.add(staffVO);
        }
        return staffVOList;
    }
    StaffManagementMapper.xml 
        <select id="selectKeysLike" parameterType="com.springboot.demo.controller.StaffManagementArgumentObject" resultMap="BaseResultMap"> 
    select * from staff_management where 
            Name like '%${name}%'
            AND Gender like '%${gender}%' 
            AND Department like '%${department}%' 
            AND Position like '%${position}%' 
                AND Year_of_graduation like '%${yearOfGraduation}%'
  </select>

1个回答

原来是有问题react前端数据用body: JSON.stringify(staff)获取时id值变为字符串“null”,需要在后台设置变量Long id = null; 再setId将staffAO作为搜索参数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mybatis入门,查询不到结果
domain如下:rnpackage com.itcast.mybatis.domain;rnrnpublic class User rn private String id;rn private String name;rn private String address;rn public String getId() rn return id;rn rn public void setId(String id) rn this.id = id;rn rn public String getName() rn return name;rn rn public void setName(String name) rn this.name = name;rn rn public String getAddress() rn return address;rn rn public void setAddress(String address) rn this.address = address;rn rn rn @Overridern public String toString() rn return "id:" + id + ",name:" + name + ",address:" + address + "";rn rnrnrnUser.xml如下:rnrnrnrnrn rn rn rn rn rn rnrn select * from myuser where id=#idrn rnrnrnsqlMapConfig.xml如下:rnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrn测试类如下:rnpackage com.itcast.mybatis.test;rnrnimport java.io.IOException;rnimport java.io.InputStream;rnrnimport org.apache.ibatis.io.Resources;rnimport org.apache.ibatis.session.SqlSession;rnimport org.apache.ibatis.session.SqlSessionFactory;rnimport org.apache.ibatis.session.SqlSessionFactoryBuilder;rnimport org.junit.Test;rnrnimport com.itcast.mybatis.domain.User;rnrnpublic class MybatisTest rn @Testrn public void test() throws Exceptionrn String resourse="sqlMapConfig.xml";rn InputStream inputStream=Resources.getResourceAsStream(resourse);rn SqlSessionFactory sf=new SqlSessionFactoryBuilder().build(inputStream);rn SqlSession session=sf.openSession();rn //根据id,最多只有一条数据(只有根据主键查询的时候才能使用该方法,因为查询结果大于2条就抛异常)rn User u=session.selectOne("com.itcast.mybatis.domain.User.selectUserById", "1");rn System.out.println(u);rn rn rnrnrn问题:控制输入的结果为null。rn根本没有调用toString方法。rn
前端Post请求后台接收不到参数,Get可以
前端Post请求后台接收不到参数,Get可以 解决方法: 修改Tomcat里的server.xml文件 &amp;lt;Connector port=&quot;80&quot; protocol=&quot;HTTP/1.1&quot; connectionTimeout=&quot;20000&quot; redirectPort=&quot;8443&quot; URIEncoding=&quot;UTF-8&quot; max..
mybatis查询结果和接收的不一样
记一次大坑:mybatis查询结果和接收的不一样,折腾我好几个小时. 先上代码:代码是要查询排名,sql执行的结果 SELECT b.operator_id, b.class_count, b.class_study, b.student_count, b.rownum AS rank, b.rownum AS praiseSum FROM ( SELECT conc...
post请求传json后台接收不到
需要将请求头的设置成:’Content-Type’: ‘application/json;charset=UTF-8;’, 如果传字符串则是:’Content-Type’: ‘application/x-www-form-urlencoded’
angularJS post请求后台接收不到参数
angularJS post请求后台接收不到参数
postman post请求接收不到参数
具体表现为 1.请求 获取请求方式确实是post   但是$_POST为空 $_GET不为空 解决:(将请求参数放到body中)
Axios Post 请求后端接收不到数据
最近做一个小项目,前端使用 axios 请求数据,后端使用 node 写接口。调试时发现后端取不到请求的参数,解决时浪费了很多时间,这里贴出来解决方法。 前端请求,有两个地方需要注意。 首先是需要使用 URLSearchParams 处理 Post 参数。 第二个地方是,Content-Type 的值必须为 Content-Type: application/x-www-form-urlen...
python 用POST请求php,$_POST接收不到消息
首先来到php文档。已经说的很清楚了。 当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。 所以python,请求的时候header中content-type需要是这2种。 index.php &amp;lt;?php $input ...
文件上传接收不到请求
今天遇到一个问题,在文件上传的时候,接口添加了附件就收不到客户端的请求,经过测试,手机相册的照片可以上传,实时拍照的图片就上传不了,然后想到的就是文件大小的问题,因为接口访问是用的nginx代理域名的方式访问的,所以想到是nginx限制了上传文件的大小,查看nginx 文档 发现nginx默认的文件大小是1m (http://nginx.org/en/docs/http/ngx_http_core...
POST 请求接收JSON数据
一般请求接口我们使用的是GET和POST请求方式, GET请求没什么好说的, POST请求可以form表单提交请求的,也有用JSON数据请求的,而json数据在springmvc中使用@RequestBody进行接收, 下面是用HttpServletRequest接收的办法:   @RequestMapping(&quot;/notify&quot;) public void notify(HttpSer...
flask接收post请求
最近接到一个任务: 写一个server来接收数据,请求方式为post,传输方式为https最终选定python轻量级框架flask 安装:sudo pip install Flask关于flask写html直接接收文件的代码:import os from flask import Flask, request, redirect, url_for from werkzeug import sec
bottle接收post请求
# -*- coding: utf-8 -*- import bottle @bottle.route('/login', method='POST') def login(): data =bottle.request.body.readlines() print 'data---' + str(data) bottle.run(host='0.0.0.0', port=808
关于mybatis中文参数查询不到结果
以utf-8编码为例,可能原因: 1. 数据库编码方式 修改mysql根目录my-default.ini添加default-character-set=utf8 编码如不统一,重新建库。通过navicat修改库编码方式不行。 2. 连接数据库url 添加?useUnicode=true&amp;characterEncoding=utf-8
$.post回调函数接收不到数据
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]是什么原因
curl post接收不到数据
aa.php用curl函数向test.php POST数据rnrnaa.php内容:rn"aaa","pas"=>"bbbb");rn$ch = curl_init();rncurl_setopt($ch, CURLOPT_URL, "http://localhost/test.php");rncurl_setopt($ch, CURLOPT_POST, true);rncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);rncurl_setopt($ch, CURLOPT_POSTFIELDS, $data);rncurl_setopt($ch, CURLOPT_TIMEOUT, 30);rn$result = curl_exec($ch);rncurl_close($ch);rnecho $result;rn?> rnrntest.php内容:rn
|M| Post学习 接收页面接收不到
发送:rn rn rn rn rn rnrnrn接收rn protected void Page_Load(object sender, EventArgs e)rn rn Response.Write(Request["txtname"].ToString());rn Response.Write(" ");rn Response.Write(Request["txtpass"].ToString());rn rnrnrn未将对像引用到对像实例
React表单提交实例(POST请求)
java后台模拟页面post请求 后台模拟post方法` /** *POST_URL:请求url *urlParam:需要封装进url的参数 *body:普通需要传递的参数 *type:请求类型:1.json;2.form-data **/ private String httpURLConnectionPOST(String POST_URL,JSONObject u...
MyBatis查询不到数据
数据库中有数据,但是查询不到rnrn2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Preparing: SELECT a.id, a.company_id AS "company.id", a.office_id AS "office.id", a.opid, a.password, a.name, a.email, a.phone, a.mobile, a.optype AS opType, a.login_ip, a.login_time, a.remarks, a.login_flag, a.create_by AS "createBy.id", a.create_date AS createDate, a.update_by AS "updateBy.id", a.update_date AS updateDate, c.name AS "company.name", c.parent_id AS "company.parent.id", c.parent_ids AS "company.parentIds", ca.id AS "company.area.id", ca.name AS "company.area.name", ca.parent_id AS "company.area.parent.id", ca.parent_ids AS "company.area.parentIds", o.name AS "office.name", o.parent_id AS "office.parent.id", o.parent_ids AS "office.parentIds", oa.id AS "office.area.id", oa.name AS "office.area.name", oa.parent_id AS "office.area.parent.id", oa.parent_ids AS "office.area.parentIds", cu.id AS "company.primaryPerson.id", cu.name AS "company.primaryPerson.name", cu2.id AS "company.deputyPerson.id", cu2.name AS "company.deputyPerson.name", ou.id AS "office.primaryPerson.id", ou.name AS "office.primaryPerson.name", ou2.id AS "office.deputyPerson.id", ou2.name AS "office.deputyPerson.name" FROM sys_operator a JOIN sys_office c ON c.id = a.company_id JOIN sys_area ca ON ca.id = c.area_id JOIN sys_office o ON o.id = a.office_id JOIN sys_area oa ON oa.id = o.area_id LEFT JOIN sys_operator cu ON cu.id = c.primary_person LEFT JOIN sys_operator cu2 ON cu2.id = c.deputy_person LEFT JOIN sys_operator ou ON ou.id = o.primary_person LEFT JOIN sys_operator ou2 ON ou2.id = o.deputy_person WHERE a.opid = ? AND a.is_valid = ? rn2015-09-29 09:17:24,118 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - ==> Parameters: 12345(String), 0(String)rn2015-09-29 09:17:24,149 DEBUG [modules.sys.dao.OperatorDao.getByOpid] - <== Total: 0
post请求查询电话号码
//post请求 package com.example.day_01_post; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; im...
springboot mybatis 注解 in查询
各位大侠 下面是我的代码:rn@Update("update ticket_send_log set status = #status where id in " +rn "" +rn "#item" +rn "")rn public int batchUpdateStatus(@Param("status")Integer status,@Param("idList") List idList);rnrn其中idList是id的集合 要根据ID批量修改数据状态rnrn但是不管怎么样 始终都会报错rnorg.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'item' not found. Available parameters are [idList, param1, status, param2]rnrn一个餐数两个餐数都是这种错误 item的值换成什么都不行 请问有大侠可以解释一下么
lucene查询不到结果
package edu.usc.uscnetopinion;rnrnimport java.io.File;rnimport java.io.FileNotFoundException;rnimport java.io.FileReader;rnimport java.io.IOException;rnrnimport org.apache.lucene.analysis.standard.StandardAnalyzer;rnimport org.apache.lucene.document.Document;rnimport org.apache.lucene.document.Field;rnimport org.apache.lucene.index.CorruptIndexException;rnimport org.apache.lucene.index.IndexReader;rnimport org.apache.lucene.index.IndexWriter;rnimport org.apache.lucene.index.IndexWriterConfig;rnimport org.apache.lucene.queryParser.ParseException;rnimport org.apache.lucene.queryParser.QueryParser;rnimport org.apache.lucene.search.IndexSearcher;rnimport org.apache.lucene.search.Query;rnimport org.apache.lucene.search.ScoreDoc;rnimport org.apache.lucene.search.TopDocs;rnimport org.apache.lucene.store.Directory;rnimport org.apache.lucene.store.FSDirectory;rnimport org.apache.lucene.store.LockObtainFailedException;rnimport org.apache.lucene.util.Version;rnrnpublic class HelloLucene rn public void index()rn Directory directory = null;rn IndexWriterConfig iwc = null;rn IndexWriter indexWriter = null;rn try rn directory = FSDirectory.open(new File("E:\\J2EE\\hellolucene\\index0"));rn iwc = new IndexWriterConfig(Version.LUCENE_35, new StandardAnalyzer(Version.LUCENE_35));rn indexWriter = new IndexWriter(directory, iwc);rn File files = new File("E:\\J2EE\\hellolucene\\example");rn for(File file : files.listFiles())rn Document doc = new Document();rn doc.add(new Field("content", new FileReader(file)));rn doc.add(new Field("filename", file.getName(), Field.Store.YES, Field.Index.ANALYZED));rn doc.add(new Field("path", file.getAbsolutePath(), Field.Store.YES, Field.Index.ANALYZED));rn System.out.println(doc.getField("path"));rn rn catch (CorruptIndexException e) rn e.printStackTrace();rn catch (LockObtainFailedException e) rn e.printStackTrace();rn catch (FileNotFoundException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn finallyrn if(indexWriter != null)rn try rn indexWriter.close();rn catch (CorruptIndexException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn rn rn rn rn rn public void searcher()rn rn try rn Directory directory = FSDirectory.open(new File("E:\\J2EE\\hellolucene\\index0"));rn IndexReader reader = IndexReader.open(directory);rn IndexSearcher searcher = new IndexSearcher(reader);rn QueryParser parser = new QueryParser(Version.LUCENE_35, "content", new StandardAnalyzer(Version.LUCENE_35));rn Query query = parser.parse("java");rn TopDocs tds = searcher.search(query, 10);rn ScoreDoc[] sds = tds.scoreDocs;rn System.out.println(sds.length);rn for(ScoreDoc sd : sds)rn Document d = searcher.doc(sd.doc);rn System.out.println(d.get("filename") + " + " + d.get("path"));rn rn rn if(reader != null)rn try rn reader.close();rn catch (IOException e) rn e.printStackTrace();rn rn rn catch (CorruptIndexException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn catch (ParseException e) rn e.printStackTrace();rn rn rn rnrnrnrn/*rn打印出来的sds.length总是0啊。example文件夹放的是txt的文件,包含有要搜索的关键字的。index0文件夹存放索引rn*/rnrnrnrnrnrnrn
nodejs接收post请求添加数据
1.app.js const express=require(&quot;express&quot;); const bodyParser = require('body-parser'); var app=express(); var productlist=require(&quot;./router/productlist&quot;); var videolist=require(&quot;./router/videolist&quot;);...
springmvc解决post中文乱码
CharacterEncodingFilter   org.springframework.web.filter.CharacterEncodingFilter     encoding   utf-8         CharacterEncodingFilter   /*
koa2接收get和post请求
1.koa2接收get请求  在koa2中GET传值通过request接收,但是接收的方法有两种:query和querystring。    query:返回的是格式化好的参数对象。  querystring:返回的是请求字符串。 const Koa = require('koa'); const Router = require('koa-router'); const app = new K...
C#的远程post接收与请求
//接收 Stream stream = HttpContext.Current.Request.InputStream; byte[] getByte = new byte[stream.Length]; stream.Read(getByte, 0, getByte.Length); string p
node接收get与post请求
get方式接收参数 前台的一个form表单 &lt;form action=&quot;./login&quot; method=&quot;get&quot;&gt; &lt;table align=&quot;center&quot;&gt; &lt;tr&gt; &lt;td&gt;emall:&lt;/td&gt; &lt;td&gt;&lt;input type=&quot;text&quot;
Node.js中http 接收get请求、接收post请求、发送get请求、发送post请求
接收get请求/** *接收一个带参数的http请求 * 127.0.0.1:3000/http_get?name=小小沉沉&password=qwer * 一般会有两次请求 另一次为http://127.0.0.1:3000/favicon.ico 这个是浏览器自动发起的请求,需要特殊处理 * *///导入http模块var http=require('http'); var util = re
Spring MVC后台接收不到POST请求的参数
使用jQuery从前端向后台发送JSON数据,设置了Content-Type为application/json,同时在Spring MVC的Controller里面使用了@RequestParam注解来接收参数,但是只在GET请求的时候才能正常访问,在使用POST请求的时候会产生找不到参数的异常。原因是,jQuery发送的数据是用&符号连接起来的,像是这种:,对应的Content-Type是 app
axios的post请求后台(ThinkPHP5)接收不到数据
最近做vue项目,做分页的功能,使用post给后台发送数据,使用接口还是工具(postman)都可获取数据,唯独axios获取不到;经过排除,发现这与axios的post传参格式有关系; this.$axios({ method: 'post', url:url, params: { seller_id:seller_id } }).then((r...
angular的post请求,springmvc后台接收不到参数的解决方案
angular的post请求,后台接收参数为null的解决方案。 1、确定angularjs,如何使用,才是post请求。angularjs实际开发过程,发现,想使用post请求,不仅仅需要设置,method:'POST',还需要 传参的时候使用data (注:如果使用params传参,angularjs默认使用 get请求),如下: $http({ method:'POST',
axios发送post请求springMVC接收不到参数
axios发送post请求时,出现了参数后台接收不到的情况,分析了下请求,发现是请求头content-type不对,是application/json,正常应该是application/x-www-form-urlencoded。 解决方法有以下三种: 1、设置axios的默认请求头//设置全局的 axios.defaults.headers.post['Content-Type'] = 'ap
axios 发 post 请求,后端接收不到参数的解决方案
问题场景 问题原因 要点1 要点2 问题分析 解决方案 解决方案一 解决方案二 解决方案三 解决方案四 解决方案五 解决方案六 问题场景 场景很简单,就是一个正常 axios post 请求: axios({ headers: { 'deviceCode': 'A95ZEF1-47B5-AC90BF3' }, method: '...
处理Django post请求接收不到嵌套的参数的情况
最近在做的一个项目需要python做服务端,我一个数据分析的来写后端了,哈哈,这是要发展为全栈了吗。那就全栈吧,~~ 首先呢,我是这样写的: Django端接收: def cipin_statistics(request): result = request.POST print(result) return HttpResponse('{"status":"'+status+'","cod...
使用axios的post请求,node.js后台接收不到参数解决方法
简单说明一下,最近在写个人网站的后台管理系统,前端界面使用的是Vue框架,后台使用的是Node.js。 因为后台管理系统有登录,所以在写的时候发现一个小问题,因为以前没有登录,所以用的都是get请求,后台一直用的是req.query接收参数,但是post请求完成之后,req.query是一个空对象,req.params也是空对象,接收不到参数。 前台请求成功。 后台接收成功。 ...
vue axios POST请求后端接收不到数据的解决办法
一、前言 这个问题是我做vue的项目第一个遇到的问题,后端接收不到我传递的参数。 二、原因及解决办法 为什么会这样呢? 这篇文章描述得非常清楚。 那么如何解决呢? 上面的文章里说了好多种解决办法,我把我使用的方法写出来: // http.js import axios from 'axios' import qs from 'qs' e...
axios post请求,传递参数,后台接收不到数据
post请求与get请求传递参数的方式不太一样 post请求:(get中的参数可以直接以键值对的形式,post中需要将键值对转换成query) import Qs from 'qs' //可直接引入,axios中已经包含 var url = '/api/user/registe' //转换成query var data = Qs.stringify({ 'studentid': this...
解决SpringMVC接收不到axios发送post请求的数据问题
最近在做一个项目,项目的后端是地址: https://github.com/wangyuanjun008/wyj-springboot-security.git 前端地址是 https://github.com/wangyuanjun008/wyj-vue-security.git ,使用的前端语言是vue,使用webpack构建vue-cli全家桶 在项目中需要用到axios与后端接口交互的
苹果se 手机 post请求接收不到参数
大家有没有遇到过 使用 iphone SE手机 qq浏览器,post请求 没有接受到参数 这种情况?
postman测试接口,post请求接收不到参数
问题描述:后台代码如图(没有用@requestbody,@responsebody等其他注解,疑惑如何传参,没有指明请求方式get/post,默认是什么方式?),postman测试时get请求逻辑正常处理,post提交后台接收不到参数,附上链接地址 get: http://***CMActivity.action?orderNo=CM_900000&amp;amp;coopOrderNo=1&amp;amp;...
axios发送post请求,springMVC接收不到数据问题
最近做项目的时候,前端异步请求用到了尤大推荐的axios,发现一个问题,就是POST请求的时候,后台人员说他们的接口里面取不到我传过去的数据。案例重现axios.jslet axios = import('axios'); instance = axios.create({ baseURL: '/ghcws', timeout: 10000, }); export default inst...
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表