2017-09-10 1 views
2

내 서비스에는 이미지 파일을 업로드하기위한 POST 메서드가 있습니다. 문서에서 권장하는대로 multipart/form-data 요청과 Service 클래스의 Request.Files 파일에 대한 액세스를 사용하고 있습니다. 여기ServiceStack - POST 메서드에서 파일 업로드를 필수적으로 만드는 방법

public class ImageManagement: Service 
{ 
    public void Post(DetectionImageRequest imageRequest) 
    { 
     if (this.Request.Files.Length == 0) 
      throw HttpError.NotFound("File parameter is missing"); 

     // ... 
    } 
} 

내 문제는 ServiceStack 파일이 HTTP 요청에서 누락 된 경우 내 ImageManagement 클래스에서 Post 메소드와 일치하도록 문제가없는 것으로 보인다는 것이다. 내 Http 요청의 DetectionImageRequest 부분이 누락 된 경우 ServiceStack은 확실히 오류를보고합니다.

또한 http 요청 매개 변수는 메타 데이터 페이지에 표시되지 않으므로 다른 사용자는 파일을 업로드해야한다는 사실을 알지 못합니다. 나는 파일이 업로드되면 Post 메서드에서 체크를 추가하고 그렇지 않다면 예외를 던지지만 문서가 요구 사항을 파일로 언급조차하지 않는다면 예외를 던지는 것은 어리석은 것처럼 보인다.

파일 필수 매개 변수를 만들 수있는 방법이 있습니까? 또한 메타 데이터 페이지에 매개 변수로 파일을 문서화하여 사용자가 존재한다는 것을 알 수 있습니까?

답변

0

업로드 된 파일은 DTO 서비스 계약의 일부가 아니며 multipart/form-data Content-Type을 통해 업로드되므로 필수 입력란으로 추가 할 수있는 속성이 없습니다.

[Api] 또는 [Description] 속성의 설명 필드를 사용하여 서비스가 파일을 수락한다고 API 사용자에게 알리는 텍스트 설명을 사용할 수 있습니다. 파일을 허용하는 서비스의 이름 지정 규칙을 사용하는 것이 좋습니다 (예 : 그것들은 Upload* 접두어로 시작해야합니다.

관련 문제