Как передать модели из API в компоненты - PullRequest
0 голосов
/ 28 октября 2018

Каков наилучший способ переноса моделей между бэкэндом и внешним интерфейсом.

  • Лучше ли клонировать бэкэнд-модели во внешнем интерфейсе, даже если используются не все свойства?
  • Или использоватьDTO для передачи только необходимых свойств для каждого варианта использования?

Если есть рекомендации, шаблон дизайна или любые другие предложения, которые мне интересно знать.

Для информациимой стек - Spring Boot и Angular 6.

Ответы [ 3 ]

0 голосов
/ 28 октября 2018

попробуйте использовать Swagger Mate

https://dzone.com/articles/using-swagger-to-connect-a-backend-to-an-angular-f

надеюсь, это поможет

0 голосов
/ 28 октября 2018

Я настоятельно рекомендую DTO, и мы использовали DTO с этим расширением Typewriter для Visual Studio, чтобы синхронизировать файлы .ts с файлами .cs.

Возможно, вы могли бы сделать что-то подобное.

https://frhagn.github.io/Typewriter/

Угловой интерфейс использует версию .ts, а бэкэнд C # использует версию .cs.Вы можете отредактировать .tst (файл шаблона машинописи), чтобы выполнить большую настройку, если вам нужны различия между вашей версией .ts и .cs.

Это лучший шаблон, который я 'Ниже приведено описание ve, которое позволяет нам вкладывать Enums и другие классы Dto:

${ 
    // Enable extension methods by adding using Typewriter.Extensions.*
    using Typewriter.Extensions.Types;
    string TypeWithNoArray(Type t) => t.Name.TrimEnd('[', ']');
}
/* DO NOT EDIT ANY .TS FILES WITH THIS COMMENT
    THESE .TS FILES ARE GENERATED BY A CORRESPONDING .CS FILE AND A .TST FILE
    BY USING THE TYPEWRITER EXTENSION:
    https://frhagn.github.io/Typewriter */
$Classes(*Dto*)[
$Properties(x => !x.Type.IsPrimitive || x.Type.IsEnum)[$Type[import { $TypeWithNoArray } from './$TypeWithNoArray';
]]
export class $Name {
    $Properties[public $name: $Type = $Type[$Default];
    ]$BaseClass[$Properties[public $name: $Type = $Type[$Default];]]
}
]
$Enums(*Dto*)[
export enum $Name {$Values[
    $name = $Value][,]
}
]
0 голосов
/ 28 октября 2018

Если нет необходимости конвертировать входящие данные для внешнего интерфейса, вы можете использовать внутреннюю модель, в Java вы можете генерировать модели машинописи из моделей Java с помощью пакета: https://github.com/vojtechhabarta/typescript-generator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...