If you have your datamodel set up correctly, meaning SearchArgs can probably contain 1 customer object you can do the following:
SearchArgs(non persistable)
1-1 association _SearchArgsCustomer (will be ignored because it has a _ in front of it)
Customer(non persistable) with the attributes
If you then receive a SearchArgs you can then do a retrieve action retrieve Customer, which will automatically map your JSON to the data model, comparing the attribute names and ignoring _
But as said in the comments the github page you can find the exact details of how to publish a service if your data is more complex as displayed above.