当前位置: 首页 > 知识库问答 >
问题:

将数据从卷曲后插入到Java spring

缑高朗
2023-03-14

我有一个来自PHP的json POST URL“http://localhost:8080/demo/test”

'{"postby_id":"1","title":"ftkjhg","is_private":"0","status":"1","post_type_id":"1","type":"2","p_id":"1","ve_id":"3","link":"1111111"}'

我的webController

    @RequestMapping(value = "/test", method = RequestMethod.POST)

    @ResponseBody
    void creMysqlCall() throws Exception {


        creativityService.creMysqlCall();

    }

服务文件

public void creMysqlCall() throws Exception {
        creativityDao.creMysqlCall();
    }

myDAO文件

public void creMysqlCall() throws Exception {
        SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(masterJdbcTemplate).withTableName("posts")
                .usingColumns("postby_id","title","is_private","post_type_id","status","wall_type","p_id","ve_id","link");
        Map<String, Object> creInsertMap = Maps.newHashMap();
        creInsertMap.put("postby_id", "");
        creInsertMap.put("title", "");
        creInsertMap.put("is_private", "");
        creInsertMap.put("post_type_id", "");
        creInsertMap.put("status", "");
        creInsertMap.put("wall_type", "");
        creInsertMap.put("p_id", "");
        creInsertMap.put("ve_id", "");

        creInsertMap.put("link", "");

我怎样才能从URL到这个道上发布数据,我对Java是新的,提前感谢

更新

我发现了这个错误

HTTP错误405访问/backend/test时出现问题。原因:不支持请求方法“Get”

使用getter和setter新建类文件

public class MysqlCall {


    public Object is_private;
    public Object postby_id;
    public Object title;

    public Object getPostby_id() {
        return postby_id;
    }

    public void setPostby_id(Object postby_id) {
        this.postby_id = postby_id;
    }

    public Object getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Object getIs_private() {
        return is_private;
    }

    public void setIs_private(String is_private) {
        this.is_private = is_private;
    }

    public Object getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Object getPost_type_id() {
        return post_type_id;
    }

    public void setPost_type_id(String post_type_id) {
        this.post_type_id = post_type_id;
    }

    public Object getWall_type() {
        return wall_type;
    }

    public void setWall_type(String wall_type) {
        this.wall_type = wall_type;
    }

    public Object getPostto_id() {
        return postto_id;
    }

    public void setPostto_id(String postto_id) {
        this.postto_id = postto_id;
    }

    public Object getVertical_id() {
        return vertical_id;
    }

    public void setVertical_id(String vertical_id) {
        this.vertical_id = vertical_id;
    }

    public Object getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public Object status;
    public Object post_type_id;
    public Object wall_type;
    public Object postto_id;
    public Object vertical_id;
    public Object link;

新刀

public void creMysqlCall(MysqlCall call) throws Exception {
        SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(masterJdbcTemplate).withTableName("posts")
                .usingColumns("postby_id","title","is_private","post_type_id","status","wall_type","postto_id","vertical_id","link");
        Map<String, Object> creInsertMap = Maps.newHashMap();
        creInsertMap.put("postby_id", call.postby_id);
        creInsertMap.put("title", call.title);
        creInsertMap.put("is_private", call.is_private);
        creInsertMap.put("post_type_id", call.post_type_id);
        creInsertMap.put("status", call.status);
        creInsertMap.put("wall_type", call.wall_type);
        creInsertMap.put("postto_id", call.postto_id);
        creInsertMap.put("vertical_id", call.vertical_id);
        creInsertMap.put("link", call.link);

服务文件

public void creMysqlCall(MysqlCall call) throws Exception {
    creativityDao.creMysqlCall(call);
}

控制器

//用于测试服务调用@RequestMapping的API(值=“/test”,方法=RequestMethod.Post,消耗=MediaType.Application_JSON_Value)

void creMysqlCall(@requestbody(required=true)MysqlCall调用)引发异常{

creativityService.creMysqlCall(call);

}

共有1个答案

澹台正真
2023-03-14

您需要使用getter和setter从JSON创建一个Value Object类。

那么您的控制器看起来就像

@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
void creMysqlCall(@RequestBody(required = true) MysqlCall call) throws Exception {
   creativityService.creMysqlCall(call);
}

确保在类路径中有jackson,因此在pom中

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.0</version>
</dependency>
 类似资料:
  • 问题内容: 我有一张表格,列出了来自特定网站的评论数量,如下所示: 我还有另一个表,列出了所有站点,例如从1到10 使用以下代码,我可以找出上个月缺少哪些站点条目: 生产: 我希望能够使用一些默认值(即“ 0”)将查询中列出的缺失网站插入到注释表中 问题是,我如何更新/插入表/值? 干杯, 背风处 问题答案:

  • 问题内容: 我有Cassandra数据库,可以通过Apache Spark使用SparkSQL从该数据库分析数据。现在我想将那些分析过的数据插入PostgreSQL中。除了使用PostgreSQL驱动程序之外,是否有其他方法可以直接实现此目的(我想通过postREST和Driver实现它,我想知道是否有类似的方法)? 问题答案: 目前,尚无将RDD写入任何DBMS的本地实现。这里是Spark用户列

  • 我正在通过API向另一个服务发送HTTP Post请求以创建订单。问题是,它需要数组中的一些HTTP参数。 这些是我现在使用的参数: 我需要补充一点: 这是直接从我使用的服务留档。问题是标题:{...}。 我尝试使用不同的数组格式,如下所示: 在这种情况下,我相信很容易进入...= 我能在这里做什么?谢谢

  • 问题内容: 我正在尝试使用angularjs从前端向mysql db插入数据。 但是,即使没有错误消息,它也不会插入数据库 。以下是我使用的代码。 index.html script.js View1.html 以下是我的php文件 insert.php 我知道我在这里做一些愚蠢的事情。我今天才刚刚开始学习angularjs。当我尝试将纯HTML的php代码插入db时,它的工作原理非常完美。希望有

  • 问题内容: 我正在尝试将JTable中的多行数据保存到数据库中,这是我的代码供参考: 问题是,它仅将一行数据插入数据库。有人可以帮帮我吗?:( 谢谢! 问题答案: 从循环中删除以下行代码并将其放置在循环之前 示例: 用以下代码替换您的代码 然后运行它认为它起作用。 对于批量插入示例,请参见https://my.vertica.com/docs/5.0/HTML/Master/14878.htm