Q:

Swift 3 and Alamofire send method as parameter

I am new at swift and I got problem with requests.  I want to send diffrent methods to a function, which will return a string, but I don't how to do it.  I tried this way, but I got 

Error with wrong type of .post and return of function makeWebServiceCall

Could somebody help me? 
public func login(userName: String, password: String) -> [String:Any]{

let loginrequest = JsonRequests.loginRequest(userName: userName, password: password)
return makeWebServiceCall(urlAddress: URL, requestMethod: .post, params: loginrequest)

}

private func makeWebServiceCall (urlAddress: String, requestMethod: String, params:[String:Any]  ) -> [String:Any] {

Alamofire.request(urlAddress, method: requestMethod, parameters: params, encoding: JSONEncoding.default).responseJSON { response in

   if let JSON = response.result.value {
        print("JSON: \(JSON)")
    }

Edited:

A:

requestMethod type should be HTTPMethod
private func makeWebServiceCall (urlAddress: String, requestMethod: HTTPMethod, params:[String:Any]  ) -> [String:Any] { ... }

