웹 API 응답을위한 형식 안전 열거 형 직렬화?

구르 캉

내 웹 API에서 올바른 방식으로 내 모델을 다시 보내는 데 어려움이 있습니다.

이 예외 메시지가 나타납니다. The 'ObjectContent1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.

내 모델은 다음과 같습니다.

public class ValidationCreditReport
    {
        public int companyId { get; set; }
        public string companyName { get; set; }
        public CreditRecommendation recommendationSecure { get; set; }
        public CreditRecommendation recommendationUnsecure { get; set; }
        public CreditOutlook creditOutlook { get; set; }
        public IndicativeRating indicativeCorporateRating { get; set; }
        public IndicativeRating indicativeSeniorUnsecured { get; set; }
        public IndicativeRating indicativeSeniorSecured { get; set; }
        public Currency currency { get; set; }

        public override string ToString()
        {
            return companyId + " " + companyName + " " + recommendationSecure.Name + " " + recommendationUnsecure.Name + " " +
                creditOutlook.Name + " " + indicativeCorporateRating.Name + " " + indicativeSeniorSecured.Name + " " + indicativeSeniorSecured.Name + " " + currency.Name;
        }
    }

그리고 여기에 내 열거 형 유형이 있습니다.

public class CreditRecommendation
    { 
        public string Name{ get; set; }
        private CreditRecommendation (string name)
        {
            Name = name;
        }

        public static CreditRecommendation Buy = new CreditRecommendation("Buy");
        public static CreditRecommendation Sell = new CreditRecommendation("Sell");
        public static CreditRecommendation Hold = new CreditRecommendation("Hold");
        public static CreditRecommendation NoRating = new CreditRecommendation("NoRating");

        public static CreditRecommendation FromName(string name)
        {
            switch (name)
            {
                case "Buy":
                    return Buy;
                case "Sell":
                    return Sell;
                case "Hold":
                    return Hold;
                case "NoRating":
                    return NoRating;
                default:
                    throw new ArgumentException("Provided name invalid: " + name);
            }
        }
    };

나머지 열거 형 모델은 동일하게 보이지만 각각의 스위치 케이스에 따라 이름이 다르고 옵션이 더 많거나 적습니다.

내가 지금 시도한 toString()것은 열거 형을 호출하고 .name일반 문자열에 추가하는 내 자신의 함수 를 작성 하는 것입니다. 이 문자열을 json 문자열로 하드 코딩 할 생각이었습니다. 그러나 나는 이것이이 문제를 해결하고 이것을 처리하는 올바른 방법이라고 생각하지 않습니다.

마지막으로 여기에 실제로 데이터를 다시 보내려고합니다.

public HttpResponseMessage GetLastPublishedData(String companyName)
        {
            using (SqlConnection connection = CreateSqlConnection())
            {
                using (var transaction = connection.BeginTransaction())
                {
                    try
                    {
                        var service = CreateCreditService(connection, transaction);
                        var msg = service.ValidateAndPrepareCreditReport(companyName);
                        var result = CreateValidationCreditReport(msg);
                        transaction.Commit();
                        return this.Request.CreateResponse<ValidationCreditReport>(HttpStatusCode.OK, result);
                    }
                    catch{
                        transaction.Rollback();
                        throw;
                    }

                }
            }
        }

전체 프로젝트를 살펴 봤는데 문제는 내 열거 형에서 비롯된 것으로 보이며 직렬화 할 수 없습니다.

모든 도움을 주시면 대단히 감사하겠습니다.

구르 캉

각 enum 클래스에 대해 빈 생성자를 추가하여 작동하게했습니다.

따라서 CreditRecommendation 클래스의 경우 다음과 같습니다.

public CreditRecommendation() { }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열을 웹 안전 Base64 형식으로 변환

분류에서Dev

Web API가 열거 형 목록을 잘못 역 직렬화합니다.

분류에서Dev

배열에 속성을 추가하기 위해 API JSON 응답 형식화

분류에서Dev

Typescript의 형식이 안전한 열거 형 사전

분류에서Dev

웹 API의 응답 형식 지정

분류에서Dev

Json.Net을 사용한 C # 열거 형 역 직렬화 : 값을 형식으로 변환하는 동안 오류가 발생했습니다.

분류에서Dev

Jackson : 열거 형 값을 정수로 직렬화 및 역 직렬화

분류에서Dev

Newtonsoft.Json을 사용한 열거 형 역 직렬화

분류에서Dev

ASP.net 웹 API의 단순 유형 JSON 직렬화

분류에서Dev

NHibernate 응답을 통한 웹 API 사용자 정의 직렬화

분류에서Dev

특정 유형 배열을 xml로 직렬화 / 비 직렬화

분류에서Dev

열거 형 역 직렬화 C #

분류에서Dev

BreezeSharp-열거 형 직렬화 실패

분류에서Dev

Java의 사용자 지정 열거 형 값에 대한 JSON 응답 역 직렬화

분류에서Dev

자바 열거 형 필드 직렬화 / 역 직렬화

분류에서Dev

열거 형 유형에 대한 사용자 지정 serde 직렬화

분류에서Dev

API에 대한 JSON 배열 형식화

분류에서Dev

파생 형식의 파생 형식 속성 배열 직렬화

분류에서Dev

올바른 형식으로 배열을 직렬화 및 직렬화 해제하는 방법

분류에서Dev

공용 열거 형을 직렬화 / 역 직렬화하는 쉬운 방법은 무엇입니까?

분류에서Dev

JSON 문자열을 열거 형으로 역 직렬화하는 방법

분류에서Dev

응답 본문 JSON의 직렬화 된 날짜 형식

분류에서Dev

형식 패턴을 사용하여 문자열을 값으로 역 직렬화

분류에서Dev

json 문자열을 일반 형식 목록으로 역 직렬화

분류에서Dev

이전 API에 대한 Facebook access_token 응답 형식

분류에서Dev

GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

분류에서Dev

열거 형 집합을 직렬화하는 방법은 무엇입니까?

분류에서Dev

BinaryFormatter 역 직렬화에 영향을 미치는 열거 형의 서수?

분류에서Dev

열거 형 형식을 typescript의 매개 변수로 전달

Related 관련 기사

  1. 1

    문자열을 웹 안전 Base64 형식으로 변환

  2. 2

    Web API가 열거 형 목록을 잘못 역 직렬화합니다.

  3. 3

    배열에 속성을 추가하기 위해 API JSON 응답 형식화

  4. 4

    Typescript의 형식이 안전한 열거 형 사전

  5. 5

    웹 API의 응답 형식 지정

  6. 6

    Json.Net을 사용한 C # 열거 형 역 직렬화 : 값을 형식으로 변환하는 동안 오류가 발생했습니다.

  7. 7

    Jackson : 열거 형 값을 정수로 직렬화 및 역 직렬화

  8. 8

    Newtonsoft.Json을 사용한 열거 형 역 직렬화

  9. 9

    ASP.net 웹 API의 단순 유형 JSON 직렬화

  10. 10

    NHibernate 응답을 통한 웹 API 사용자 정의 직렬화

  11. 11

    특정 유형 배열을 xml로 직렬화 / 비 직렬화

  12. 12

    열거 형 역 직렬화 C #

  13. 13

    BreezeSharp-열거 형 직렬화 실패

  14. 14

    Java의 사용자 지정 열거 형 값에 대한 JSON 응답 역 직렬화

  15. 15

    자바 열거 형 필드 직렬화 / 역 직렬화

  16. 16

    열거 형 유형에 대한 사용자 지정 serde 직렬화

  17. 17

    API에 대한 JSON 배열 형식화

  18. 18

    파생 형식의 파생 형식 속성 배열 직렬화

  19. 19

    올바른 형식으로 배열을 직렬화 및 직렬화 해제하는 방법

  20. 20

    공용 열거 형을 직렬화 / 역 직렬화하는 쉬운 방법은 무엇입니까?

  21. 21

    JSON 문자열을 열거 형으로 역 직렬화하는 방법

  22. 22

    응답 본문 JSON의 직렬화 된 날짜 형식

  23. 23

    형식 패턴을 사용하여 문자열을 값으로 역 직렬화

  24. 24

    json 문자열을 일반 형식 목록으로 역 직렬화

  25. 25

    이전 API에 대한 Facebook access_token 응답 형식

  26. 26

    GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

  27. 27

    열거 형 집합을 직렬화하는 방법은 무엇입니까?

  28. 28

    BinaryFormatter 역 직렬화에 영향을 미치는 열거 형의 서수?

  29. 29

    열거 형 형식을 typescript의 매개 변수로 전달

뜨겁다태그

보관