Create and Write CSV Files Using File Connector in MuleSoft

Getting Started

First, open Anypoint Studio and Create a New Mule Project.

New Mule Project

Enter a project name and selection location and click finish.

Project Settings

Click on Add Modules in the Mule palette and find File in the featured components.

Add Modules

Drag and drop File onto the Mule palette before adding it to the project.

It should be like this after drag and drop.

Mule Palette

Now let's add a new Mule Configuration File and give the name as global.

Mule Configuration File

Enter the file name as global.

Give file name

Go to Global Elements, click the Create button, and add an HTTP Listener config.

Choose Type

Leave everything as default and click ok.

HTTP Listener Config

Also, add a new File Config and click OK.

Add new file config

Select File Config and click OK.

Next, provide the Working Directory path in the General tab.

File config

Next, drag and drop HTTP >> Listener from Mule palette to Message flow and give Display Name, select Connector configuration, and enter the Path.

File Connector

Also, in Advanced properties, enter POST in Allowed methods.

Advanced Property

Next, drag and drop the logger component from the Core palette to log the payload data.

Logger

Now let's create a JSON object which we will use in this example.

Json Code

Save it as a JSON file on a desktop or any location.

We will use this file to create metadata type for all payload inputs.

Go back to HTTP listener and select Metadata in properties and click on the button Add metadata and click on the little icon to add new metadata.

Image

Next, click on Add button and provide the type name "fileExample" and click Create type button.

Create type button

Next, select metadata type, Select type ad JSON and select Example from the drop-down, and browse JSON file from the desktop and click Select.

User defined

So, this step will allow us to auto-complete our DataWeave expressions.

Next, go to Logger properties and click on Show graphical properties icon.

Go to Logger

Click on Define metadata.

Message

Select JSON object.

Metadata type

To test the object data, click on the Preview button.

Payload

Next, drag and drop the Set Variable component from the Core Mule palette.

Set Variable

Go to Metadata properties and select Json object.

Json Object

Next, provide the Name of the variable in Settings and Value expression.

Set Variable

Set the DataWeave expression.

code

You can check the preview of data as well.

Finally, drag and drop the file write connector from the File module.

Set Variable

Next, enter the Path and dynamically define the name for the upcoming file by concatenating the variable to the file's name.

Write to file

Next, set the content of the file.

Click on content, select Define metadata first, then define data weave expression.

image

After setting app properties in Connector configuration, Path, and Content, it will look like this.

Mule image

Let's run the application.

Run the application

Open Postman and enter Endpoint to see the output result.

Output

Also, enter the Headers values and Body text.

Json

Hit Send button.

Code

As you see, the output is 200, which means api is running without any issues. Now go back to Endpoint Studio to check the log data.

Code

Logger also logging the data correctly.

Now the final step is to test if the file has been created and data is written in the giver directory.

Home

As you can see, a file has been created, and customer JSON data is also posted.

Conclusion

In this article, we learned to create and write CSV files using File Connector in MuleSoft and display results in Postman.


Similar Articles