MuleSoft知识总结-12.使用POST请求从后端取会数据

23 篇文章 6 订阅
16 篇文章 4 订阅

文章目录

前言

(MuleSoft自学分享-11.Mule基本组件)中使用了get请求通过后端接口/getEmployee获取到了全部的employee数据。这次我们要使用Post请求,请求体为员工编号,返回员工编号为"12345678"的员工数据。

{
  "number": "12345678"
}

Post请求

  1. 使用Sub Flow,Request,Transform Message和Logger四种组件进行配置,方式和(MuleSoft自学分享-11.Mule基本组件)中相同。最后将Request中Method设置为Post。
    在这里插入图片描述

  2. 进入employeeapi,将post:\ …中的logger替换为Flow Reference,并将Flow Name设置为employeeapi-sub中的employeeapi-post_Flow
    在这里插入图片描述

  3. 后端EmployeeController.java修改为

package com.example.demo.controller;

import java.util.ArrayList;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.example.demo.entity.EmployeeEntity;
import com.example.demo.entity.NumberEntity;

@RestController
public class EmployeeController {
	
	EmployeeEntity employeeEntity1 = new EmployeeEntity("12345678", "zhangsan", 
			"20", "man", "afl", "mulesoft", "san.b.zhang@acc.com", "12345678901", "liaoning", "dalian");
	EmployeeEntity employeeEntity2 = new EmployeeEntity("12345679", "lisan", 
			"20", "man", "afl", "se", "san.a.li@acc.com", "12345678902", "liaoning", "shenyang");
	EmployeeEntity employeeEntity3 = new EmployeeEntity("12345680", "wangwu", 
			"20", "woman", "sap", "sa", "wu.a.wang@acc.com", "12345678903", "sichuan", "chengdu");
	@RequestMapping(value = "/getEmployee", method = {RequestMethod.GET})
	public ArrayList<EmployeeEntity> getEmployee() {
		ArrayList<EmployeeEntity> employeeEntities = new ArrayList<EmployeeEntity>();
		employeeEntities.add(employeeEntity1);
		employeeEntities.add(employeeEntity2);
		employeeEntities.add(employeeEntity3);
		return employeeEntities;
	}
	@RequestMapping(value = "/getEmployee", method = {RequestMethod.POST})
	public ArrayList<EmployeeEntity> postEmployee(@RequestBody NumberEntity Body) {
		ArrayList<EmployeeEntity> employeeEntities = new ArrayList<EmployeeEntity>();
		ArrayList<EmployeeEntity> employeePostEntities = new ArrayList<EmployeeEntity>();
		employeeEntities.add(employeeEntity1);
		employeeEntities.add(employeeEntity2);
		employeeEntities.add(employeeEntity3);
		for(int i = 0; i < employeeEntities.size();i++) {
			if(employeeEntities.get(i).getId().equals(Body.getNumber())) {
				employeePostEntities.add(employeeEntities.get(i));
			}
		}
		return employeePostEntities;
	}
	
}
  1. 后端增加NumberEntity.java
package com.example.demo.entity;

public class NumberEntity {
	String number;

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}
	
}
  1. 启动前后端后用PostMan进行请求,在请求体中添加{“number”: “12345678”},将PostMan中请求方式设置为POST。
{
  "number": "12345678"
}

在这里插入图片描述
获得员工号为"12345678"的员工数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值